Search Results

Search found 4992 results on 200 pages for 'richard jp le guen'.

Page 128/200 | < Previous Page | 124 125 126 127 128 129 130 131 132 133 134 135  | Next Page >

  • Javascript storing properties and functions in variables

    - by richard
    Hello, I'm having trouble with my programming style and I hope to get some feedback here. I recently bought Javascript: The Good Parts and while I find this a big help, I'm still having trouble designing this application. Especially when it comes to writing function and methods. Example: I have a function that let's the user switches games in my app. This function updates game-specific information in the current view. var games = { active: Titanium.App.Properties.getString('active_game'), gameswitcher_positions: { 'Game 1': 0, 'Game 2': 1, 'Game 3': 2, 'Game 4': 3, 'Game 5': 4 }, change: function(game) { if (active_game !== game) { gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage.replace('_selected', ''); gameswitcher.children[this.gameswitcher_positions[game]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[game]].backgroundImage.replace('.png', '_selected.png'); events.update(game); this.active = game; } }, init: function() { gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage.replace('.png', '_selected.png'); events.update(this.active); } }; gameswitcher is a container view which contains buttons to switch games. I am not satisfied with this approach but I cannot think of a better one. Should I place the gameswitcher_positions outside of the variable in a seperate variable instead of as a property? And what about the active game? Please give me feedback, what am I doing wrong?

    Read the article

  • Filter rows from Cursor so they don't show up in ListView

    - by Richard
    I have a Cursor that returns rows I use with a SimpleCursorAdapter to populate a ListView. I would like to filter some of the rows so they don't get displayed in my ListView. I use the data from the rows elsewhere in my Activity so I don't want to change my SQL to filter them with a WHERE clause. What is the best way to keep a row from being displaying in my ListView? Ideally I would check a column in my row and then only add rows to the ListView that satisfy a condition.

    Read the article

  • Detecting a message box launched in another application

    - by richard-assaf
    I am developing a windows service, in vb .et, that launches a legacy application that performs some work. The service acts as a wrapper around the legacy app allowing users to automate an otherwise manual operation. Everything is working great, except occasionally the legacy app displays a messagebox. When it does this the process halts until the the message box closes. As the service will be running on a server there will be no user to close the message box. The service launches the legacy application in a System.Diagnostics.Process. My question is, is there way to detect that a message box has been displayed by a process that I have started using System.Diagnostics.Process and is there a way to through code to close the messagebox. I've tried to be brief so if you need more information please let me know. Thanks in advance Richie

    Read the article

  • Guerre des brevets : et maintenant les émoticônes, Varia porte plainte contre Samsung qui porte plainte contre Apple

    Guerre des brevets : et maintenant les émoticônes Varia porte plainte contre Samsung qui porte plainte contre Apple En décembre dernier, Samsung avaient attaqué Apple en vertu de leur brevet US n° 7,835,729, qui décrit la méthode de saisie des émoticônes dans les smartphones. Dans le dernier rebondissement en date, Varia ? une société d'accumulation de brevets, ou en langage familier, un patent troll à temps plein?vient de porter plainte contre Samsung devant une cour de New York. En effet, Varia détient le brevet US n° 7,167,731, intitulé « Méthode et appareil de saisie des émoticônes », qui serait antérieur à celui de Samsung. Ce brevet décrit l'utilisation ...

    Read the article

  • multiple timer to one process (without linking to rt)

    - by Richard
    Hi, is there any way to register multiple timer to a single process? I have tried following code, yet without success. (Use "gcc -lrt" to compile it...). Program output nothing, which should atleast print "test". Is it possibly due to the dependence to linking to rt? #define TT_SIGUSR1 (SIGRTMAX) #define TT_SIGUSR2 (SIGRTMAX - 1) #define TIME_INTERVAL_1 1 #define TIME_INTERVAL_2 2 #include <signal.h> #include <time.h> #include <stdio.h> #include <unistd.h> #include <linux/unistd.h> #include <sys/syscall.h> #include <sys/time.h> #include <sys/types.h> #include <sched.h> #include <signal.h> #include <setjmp.h> #include <errno.h> #include <assert.h> timer_t create_timer(int signo) { timer_t timerid; struct sigevent se; se.sigev_signo = signo; if (timer_create(CLOCK_REALTIME, &se, &timerid) == -1) { fprintf(stderr, "Failed to create timer\n"); exit(-1); } return timerid; } void set_timer(timer_t timerid, int seconds) { struct itimerspec timervals; timervals.it_value.tv_sec = seconds; timervals.it_value.tv_nsec = 0; timervals.it_interval.tv_sec = seconds; timervals.it_interval.tv_nsec = 0; if (timer_settime(timerid, 0, &timervals, NULL) == -1) { fprintf(stderr, "Failed to start timer\n"); exit(-1); } return; } void install_sighandler2(int signo, void(*handler)(int)) { struct sigaction sigact; sigemptyset(&sigact.sa_mask); sigact.sa_flags = SA_SIGINFO; //register the Signal Handler sigact.sa_sigaction = handler; // Set up sigaction to catch signal first timer if (sigaction(signo, &sigact, NULL) == -1) { printf("sigaction failed"); return -1; } } void install_sighandler(int signo, void(*handler)(int)) { sigset_t set; struct sigaction act; /* Setup the handler */ act.sa_handler = handler; act.sa_flags = SA_RESTART; sigaction(signo, &act, 0); /* Unblock the signal */ sigemptyset(&set); sigaddset(&set, signo); sigprocmask(SIG_UNBLOCK, &set, NULL); return; } void signal_handler(int signo) { printf("receiving sig %d", signo); } int main() { printf("test"); timer_t timer1 = create_timer(TT_SIGUSR1); timer_t timer2 = create_timer(TT_SIGUSR2); set_timer(timer1, TIME_INTERVAL_1); set_timer(timer2, TIME_INTERVAL_2); install_sighandler2(TT_SIGUSR1, signal_handler); install_sighandler(TT_SIGUSR2, signal_handler); while (1) ; return 0; }

    Read the article

  • Toutes les semaines un peu de code pour aller plus loin avec Windows 7, Les Bibliothèques

    En cette fin d'année, la communauté de Developpez.com s'est alliée avec Microsoft France pour relayer une série de questions / réponses sur le développement Windows 7. A partir d'aujourd'hui, nous poserons une question chaque lundi sur une fonctionnalité propre au développement d'applications Windows 7. La bonne réponse de la question de la semaine sera ensuite dévoilée la semaine suivante avec un exemple de mise en pratique. Êtes-vous prêt à relever le défi ? Pensez-vous bien connaître les possibilités que proposent les API Windows 7 ? C'est ce que nous allons voir dès aujourd'hui, nous attendons vos propositions ! La réponse de la semaine : Quelle est la technologie de Wind...

    Read the article

  • Création du forum XQUERY et base de données XML, dédié aux utilisations de XML comme base de données ou avec des SGBD relationnels

    Création d'un forum XQUERY et base de donnée XML dédié aux utilisation de XML en tant que base de donnée ou avec des SGBD relationnels Le développement du format XML, en particulier dans un contexte d'utilisation documentaire (Ooo, word...) mais aussi d'échange de donnée, dut à la complexification de ces mêmes données, a amené à une interaction accrue entre les fichiers XML et les SGBD. Différentes types de solutions ont vues le jour :ensemble de fichier XML intégration dans des SGBD relationnels SGBD XML natif ... Et différents langages d'extraction/constitution pour utiliser ces même données , en fonction de l'environnement...

    Read the article

  • Chrome OS : nouvelle mise à jour et ajout de la bêta de Chrome 10 dans l'OS orienté Cloud de Google

    Chrome OS : mise à jour Et ajout de la bêta de Chrome 10 Google vient d'effectuer une mise à jour de la bêta de son système d'exploitation Chrome OS avec le port de la bêta de son navigateur Chrome 10 publié il y a de cela quelques semaines. Plusieurs fonctionnalités de Chrome OS ont été améliorées parmi lesquelles la 3G (activation du modem et connexion), le WI-FI, Gtalk (pour les vidéo-conférences) ou la mise à jour automatique du moteur et amélioration du débogage ; A noter que des problèmes important de gestion des Trackpads (système qui remplace les souris sur les PC portables) ont été réglé. Ce...

    Read the article

  • Write to memory buffer instead of file with libjpeg?

    - by Richard Knop
    I have found this function which uses libjpeg to write to a file: int write_jpeg_file( char *filename ) { struct jpeg_compress_struct cinfo; struct jpeg_error_mgr jerr; /* this is a pointer to one row of image data */ JSAMPROW row_pointer[1]; FILE *outfile = fopen( filename, "wb" ); if ( !outfile ) { printf("Error opening output jpeg file %s\n!", filename ); return -1; } cinfo.err = jpeg_std_error( &jerr ); jpeg_create_compress(&cinfo); jpeg_stdio_dest(&cinfo, outfile); /* Setting the parameters of the output file here */ cinfo.image_width = width; cinfo.image_height = height; cinfo.input_components = bytes_per_pixel; cinfo.in_color_space = color_space; /* default compression parameters, we shouldn't be worried about these */ jpeg_set_defaults( &cinfo ); /* Now do the compression .. */ jpeg_start_compress( &cinfo, TRUE ); /* like reading a file, this time write one row at a time */ while( cinfo.next_scanline < cinfo.image_height ) { row_pointer[0] = &raw_image[ cinfo.next_scanline * cinfo.image_width * cinfo.input_components]; jpeg_write_scanlines( &cinfo, row_pointer, 1 ); } /* similar to read file, clean up after we're done compressing */ jpeg_finish_compress( &cinfo ); jpeg_destroy_compress( &cinfo ); fclose( outfile ); /* success code is 1! */ return 1; } I would actually need to write the jpeg compressed image just to memory buffer, without saving it to a file, to save time. Could somebody give me an example how to do it? I have been searching the web for a while but the documentation is very rare if any and examples are also difficult to come by.

    Read the article

  • google maps call within a For Loop not returning distance

    - by Richard Reddy
    Hi, I am calling google maps within a for loop in my javascript as I have mulitple routes that need to be costed separately based on distances. Everything works great except that the distance is only returned for one of the routes. I have a feeling that it is something to do with the way I have the items declared within the ajax call for the maps. Any ideas what could be the issue from the code below? for (var i = 1; i <= numJourneys; i++) { var mapContainer = 'directionsMap' + i; var directionContainer = $('#getDistance' + i); $.ajax({ async: false, type: "POST", url: "Journey/LoadWayPoints", data: "{'args': '" + i + "'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { if (msg.d != '[]') { var map = new GMap2(document.getElementById(mapContainer)); var distance = directionContainer; var wp = new Array(); //routes var counter = 0; $.each(content, function () { wp[counter] = new GLatLng(this['Lat'], this['Long']); counter = counter + 1; }); map.clearOverlays(); map.setCenter(wp[0], 14); // load directions directions = new GDirections(map); GEvent.addListener(directions, "load", function () { alert(directions.getDistance()); //directionContainer.html(directions.getDistance().html); }); directions.loadFromWaypoints(wp, { getSteps: true }); } } }); }

    Read the article

  • Why is calling close() after fopen() not closing?

    - by Richard Morgan
    I ran across the following code in one of our in-house dlls and I am trying to understand the behavior it was showing: long GetFD(long* fd, const char* fileName, const char* mode) { string fileMode; if (strlen(mode) == 0 || tolower(mode[0]) == 'w' || tolower(mode[0]) == 'o') fileMode = string("w"); else if (tolower(mode[0]) == 'a') fileMode = string("a"); else if (tolower(mode[0]) == 'r') fileMode = string("r"); else return -1; FILE* ofp; ofp = fopen(fileName, fileMode.c_str()); if (! ofp) return -1; *fd = (long)_fileno(ofp); if (*fd < 0) return -1; return 0; } long CloseFD(long fd) { close((int)fd); return 0; } After repeated calling of GetFD with the appropriate CloseFD, the whole dll would no longer be able to do any file IO. I wrote a tester program and found that I could GetFD 509 times, but the 510th time would error. Using Process Explorer, the number of Handles did not increase. So it seems that the dll is reaching the limit for the number of open files; setting _setmaxstdio(2048) does increase the amount of times we can call GetFD. Obviously, the close() is working quite right. After a bit of searching, I replaced the fopen() call with: long GetFD(long* fd, const char* fileName, const char* mode) { *fd = (long)open(fileName, 2); if (*fd < 0) return -1; return 0; } Now, repeatedly calling GetFD/CloseFD works. What is going on here?

    Read the article

  • La liste de Noël (part. 1) de Developpez : 4 smartphones, 1 PC, des pochettes artisanales et du Bambou

    La liste de Noël de Developpez partie 1 3 smartphones, 1 PC, des pochettes artisanales à prix mini et du Bambou Et oui, déjà Noël. Et à chaque fois la même question : « qu'est-ce que je vais bien pouvoir lui (leur) offrir ? ». Pire ! « Qu'est-ce que je vais bien pouvoir demander ? ». Pour vous aider, Developpez.com vous livre sa liste de cadeaux 2012 dans laquelle vous n'aurez plus qu'à piocher. Première partie : les appareils et ce qui les accompagne. Smarthpones Incontestablement, l'année 2012 a été marquée par la sortie de 3 smartphones de très bonne tenue. Chacun trouvera le bonheur dans le modèle de son choix en fonction de son OS préféré : ...

    Read the article

  • Validating a value for a DataColumn

    - by Richard Neil Ilagan
    Hello! I'm using a DataGrid with edit functionalities in my project. It's handy, compared to having to edit its source data manually, but sadly, that means that I'll have to deal with validating user input a bit more. And my problem is basically just that. When I set my DataGrid to EDIT mode, modify the values and then set it to UPDATE, what is the best way to check if a value that I've entered is, in fact, compatible with the corresponding column's data type? i.e. (simple example) // assuming DataTable dt = new DataTable(); dt.Columns.Add("aa",typeof(System.Int32)); DataGrid dg = new DataGrid(); dg.DataSource = dt; dg.DataBind(); dg.UpdateCommand += dg_Update; // this is the update handler protected void dg_Update(object src, DataGridCommandEventArgs e) { string newValue = (someValueIEnteredInTextBox); // HOW DO I CHECK IF [newValue] IS COMPATIBLE WITH COLUMN "aa" ABOVE? dt.LoadDataRow(newValue, true); } Thanks guys. Any leads would be so much help.

    Read the article

  • JS.everywhere(2012) : deux jours autour de JavaScript pour les applications professionnelles, mi-novembre à Paris

    JS.everywhere(2012) : l'évènement autour de JavaScript pour les applications professionnelles Se tiendra mi-novembre, réduction spéciale pour les membre de Développez.com JS.everywhere(2012) est un événement européen qui se tiendra à Paris les 16 et 17 novembre prochains. Le thème de cette réunion, "JavaScript pour les applications professionnelles", fera écho à son édition américaine qui se tient un mois plus tôt dans la Silicon Valley. Comme le titre de la conférence l'indique, JavaScript est désormais partout. Il intéresse de plus en plus de développeurs d'applications métiers depuis qu'il est reconnu comme un des langages majeurs capables de gérer au...

    Read the article

  • file output in python giving me garbage

    - by Richard
    When I write the following code I get garbage for an output. It is just a simple program to find prime numbers. It works when the first for loops range only goes up to 1000 but once the range becomes large the program fail's to output meaningful data output = open("output.dat", 'w') for i in range(2, 10000): prime = 1 for j in range(2, i-1): if i%j == 0: prime = 0 j = i-1 if prime == 1: output.write(str(i) + " " ) output.close() print "writing finished"

    Read the article

  • Google présente Chrome Web Store, son magasin d'applications a quelques similitudes avec celui d'App

    Google présente son Chrome Web Store, son magasin d'applications a quelques similitudes avec celui d'Apple La semaine dernière, Google a enchainé les annonces importantes lors de sa conférence de développement I/O. La firme semble mettre en place diverses nouveautés qui s'articulent autour de la sortie prochaine de son système d'exploitation Chrome OS. Vendredi a été présenté le Chrome Web Store, une boutique d'application qui commercialisera (ou offrira) des programmes pour les smartphones et terminaux mobiles utilisant Chrome ainsi que pour les ordinateurs équipés de Chrome OS (jeux, applications, plug-ins pour Chrome, etc.). A Mountain View, on semble donc vouloir fortement concurrence l'App Store. D'ailleurs, le...

    Read the article

  • Epitech Nancy signe un partenariat avec Intel et crée un laboratoire de technologies mobiles qui planche sur un App Inventor français

    Epitech Nancy signe un partenariat avec Intel Et crée un laboratoire de technologies mobiles qui planche sur un MIT App Inventor français L'école Epitech Nancy a signé durant l'été 2012 un partenariat avec Intel. La première application de cette union est la création d'un laboratoire orienté vers les technologies mobiles. Ce laboratoire aura pour but de fournir une aide aux étudiants pour travailler sur des projets mobiles et sur des technologies de pointe qui ne sont pas encore disponibles pour le grand public. Le laboratoire Intel d'Epitech Nancy est effectif dès la rentrée 2012 pour tous les étudiants et plusieurs projets libres de troisième année ...

    Read the article

  • Problem with events and ParseControl

    - by Richard Edwards
    I'm adding a control (linkbutton) dynamically using ParseControl and it's fine except when I specify an event handler. If I use: Dim c As Control = ParseControl("<asp:LinkButton id=""btnHide"" runat=""server"" text=""Hide"" OnClick="btnHide_Click" />") it correctly adds the control to the page but the click event doesn't fire. If instead I find the control in the controls collection and manually wire up the event it works fine. I've tried loading in both Page_Init and Page_Load and it's the same thing either way. Any ideas?

    Read the article

  • Mozilla invite les femmes a être plus présentes dans les métiers de l'IT, avec son projet WoMoz

    Mise à jour du 25.03.2010 par Katleen Mozilla invite les femmes a être plus présentes dans les métiers de l'IT, avec son projet WoMoz Nous avions déjà évoqué ce sujet en février : les femmes sont minoritaires dans les métiers des nouvelles technologies. Il y a peu de développeuses, les hommes sont clairement plus présents dans les métiers de l'IT. Dans l'open source, les chiffres sont encore plus prononcés. Seuls 3% de femmes y seraient recensées, contre 25 % pour le monde propriétaire (chiffres provenants d'une étude de la Commission Européenne). D'où l'idée de lancer un projet pour les femmes dans le monde du libre et en particulier chez Mozilla. WoMoz (Women and Mozilla) a ét...

    Read the article

  • Chrome : nouveau logo plus épuré et plus abstrait, la version 11 pour développeurs peaufine également la gestion des onglets

    Nouveau logo plus épuré et abstrait pour Chrome La version 11 pour développeurs peaufine également la gestion des onglets Mise à jour du 16/03/11 Depuis le 9 mars, on savait que Google y réfléchissait. Cette fois-ci c'est officiel, Chrome change de logo. A l'occasion de la sortie de la version 11 de son navigateur sur le canal développeur, Google a ajouté ses couleurs traditionnelles au nouveau logo, plat, plus abstrait et plus épuré. Un logo qui était apparu (en bleu) sur un fil de discussion de Chromium (lire ci-avant). [IMG]http://ftp-developpez.com/gordon-fowler/Nouveau%20Logo%20Chrome.png[/IMG] Cette nouveau...

    Read the article

  • La BBC fait ressusciter Flash Player sur Android, mais uniquement au Royaume-Uni et pas pour longtemps

    Adobe a décidé de ne plus proposer Flash Player sur le Google Play Store et du même coup ne réalisera plus de mise à jour. Plus la peine de chercher Flash Player sur le Google Play Store, il n'existe plus. Il renonce au développement de son lecteur multimédia sur les smartphones sous Android. D'ailleurs, l'éditeur n'avait pas prévu de versions certifiées pour Android 4.1 Jelly Bean. Il ne l'avait même pas testé sur cette mouture. "Flash Player ne sera plus mis à jour pour les nouvelles configurations. Flash Player ne sera plus pris en charge sur les versions d'Android supérieures à 4.0.x", indique l'éditeur sur son blog officiel. Adobe précise toutefois qu'il maintiendra les correctifs concernant les failles de sécurité pour les appareils disposant ...

    Read the article

  • Un nouveau virus d'une complexité hors-norme mis à jour, ses auteurs sont tout aussi mystérieux que ceux de son cousin Stuxnet

    Un nouveau virus d'une complexité hors-norme mis à jour Flame serait un projet parallèle à Stuxnet dont les auteurs sont tout aussi mystérieux Flame, Skywiper ou Flamer. Tels sont les trois noms que les différents cabinets d'experts en sécurité informatique ont donné au « nouveau » virus qu'ils ont récemment découvert. Un virus d'une taille (20 Mo) et d'une complexité hors norme. Plusieurs de ces caractéristiques font fortement penser au désormais célèbre Stuxnet et laissent à penser que ses commanditaires sont identiques. C'est en tout cas ce que rapporte le Washington Post. « Il est très probable que deux équipes aient travaillé sur le même programme mais avec deux ap...

    Read the article

  • Little more help with writing a o buffer with libjpeg

    - by Richard Knop
    So I have managed to find another question discussing how to use the libjpeg to compress an image to jpeg. I have found this code which is supposed to work: Compressing IplImage to JPEG using libjpeg in OpenCV Here's the code (it compiles ok): /* This a custom destination manager for jpeglib that enables the use of memory to memory compression. See IJG documentation for details. */ typedef struct { struct jpeg_destination_mgr pub; /* base class */ JOCTET* buffer; /* buffer start address */ int bufsize; /* size of buffer */ size_t datasize; /* final size of compressed data */ int* outsize; /* user pointer to datasize */ int errcount; /* counts up write errors due to buffer overruns */ } memory_destination_mgr; typedef memory_destination_mgr* mem_dest_ptr; /* ------------------------------------------------------------- */ /* MEMORY DESTINATION INTERFACE METHODS */ /* ------------------------------------------------------------- */ /* This function is called by the library before any data gets written */ METHODDEF(void) init_destination (j_compress_ptr cinfo) { mem_dest_ptr dest = (mem_dest_ptr)cinfo->dest; dest->pub.next_output_byte = dest->buffer; /* set destination buffer */ dest->pub.free_in_buffer = dest->bufsize; /* input buffer size */ dest->datasize = 0; /* reset output size */ dest->errcount = 0; /* reset error count */ } /* This function is called by the library if the buffer fills up I just reset destination pointer and buffer size here. Note that this behavior, while preventing seg faults will lead to invalid output streams as data is over- written. */ METHODDEF(boolean) empty_output_buffer (j_compress_ptr cinfo) { mem_dest_ptr dest = (mem_dest_ptr)cinfo->dest; dest->pub.next_output_byte = dest->buffer; dest->pub.free_in_buffer = dest->bufsize; ++dest->errcount; /* need to increase error count */ return TRUE; } /* Usually the library wants to flush output here. I will calculate output buffer size here. Note that results become incorrect, once empty_output_buffer was called. This situation is notified by errcount. */ METHODDEF(void) term_destination (j_compress_ptr cinfo) { mem_dest_ptr dest = (mem_dest_ptr)cinfo->dest; dest->datasize = dest->bufsize - dest->pub.free_in_buffer; if (dest->outsize) *dest->outsize += (int)dest->datasize; } /* Override the default destination manager initialization provided by jpeglib. Since we want to use memory-to-memory compression, we need to use our own destination manager. */ GLOBAL(void) jpeg_memory_dest (j_compress_ptr cinfo, JOCTET* buffer, int bufsize, int* outsize) { mem_dest_ptr dest; /* first call for this instance - need to setup */ if (cinfo->dest == 0) { cinfo->dest = (struct jpeg_destination_mgr *) (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof (memory_destination_mgr)); } dest = (mem_dest_ptr) cinfo->dest; dest->bufsize = bufsize; dest->buffer = buffer; dest->outsize = outsize; /* set method callbacks */ dest->pub.init_destination = init_destination; dest->pub.empty_output_buffer = empty_output_buffer; dest->pub.term_destination = term_destination; } /* ------------------------------------------------------------- */ /* MEMORY SOURCE INTERFACE METHODS */ /* ------------------------------------------------------------- */ /* Called before data is read */ METHODDEF(void) init_source (j_decompress_ptr dinfo) { /* nothing to do here, really. I mean. I'm not lazy or something, but... we're actually through here. */ } /* Called if the decoder wants some bytes that we cannot provide... */ METHODDEF(boolean) fill_input_buffer (j_decompress_ptr dinfo) { /* we can't do anything about this. This might happen if the provided buffer is either invalid with regards to its content or just a to small bufsize has been given. */ /* fail. */ return FALSE; } /* From IJG docs: "it's not clear that being smart is worth much trouble" So I save myself some trouble by ignoring this bit. */ METHODDEF(void) skip_input_data (j_decompress_ptr dinfo, INT32 num_bytes) { /* There might be more data to skip than available in buffer. This clearly is an error, so screw this mess. */ if ((size_t)num_bytes > dinfo->src->bytes_in_buffer) { dinfo->src->next_input_byte = 0; /* no buffer byte */ dinfo->src->bytes_in_buffer = 0; /* no input left */ } else { dinfo->src->next_input_byte += num_bytes; dinfo->src->bytes_in_buffer -= num_bytes; } } /* Finished with decompression */ METHODDEF(void) term_source (j_decompress_ptr dinfo) { /* Again. Absolute laziness. Nothing to do here. Boring. */ } GLOBAL(void) jpeg_memory_src (j_decompress_ptr dinfo, unsigned char* buffer, size_t size) { struct jpeg_source_mgr* src; /* first call for this instance - need to setup */ if (dinfo->src == 0) { dinfo->src = (struct jpeg_source_mgr *) (*dinfo->mem->alloc_small) ((j_common_ptr) dinfo, JPOOL_PERMANENT, sizeof (struct jpeg_source_mgr)); } src = dinfo->src; src->next_input_byte = buffer; src->bytes_in_buffer = size; src->init_source = init_source; src->fill_input_buffer = fill_input_buffer; src->skip_input_data = skip_input_data; src->term_source = term_source; /* IJG recommend to use their function - as I don't know **** about how to do better, I follow this recommendation */ src->resync_to_restart = jpeg_resync_to_restart; } All I need to do is replace the jpeg_stdio_dest in my program with this code: int numBytes = 0; //size of jpeg after compression char * storage = new char[150000]; //storage buffer JOCTET *jpgbuff = (JOCTET*)storage; //JOCTET pointer to buffer jpeg_memory_dest(&cinfo,jpgbuff,150000,&numBytes); So I need some help to incorporate the above four lines into this function which now works but writes to a file instead of a memory: int write_jpeg_file( char *filename ) { struct jpeg_compress_struct cinfo; struct jpeg_error_mgr jerr; /* this is a pointer to one row of image data */ JSAMPROW row_pointer[1]; FILE *outfile = fopen( filename, "wb" ); if ( !outfile ) { printf("Error opening output jpeg file %s\n!", filename ); return -1; } cinfo.err = jpeg_std_error( &jerr ); jpeg_create_compress(&cinfo); jpeg_stdio_dest(&cinfo, outfile); /* Setting the parameters of the output file here */ cinfo.image_width = width; cinfo.image_height = height; cinfo.input_components = bytes_per_pixel; cinfo.in_color_space = color_space; /* default compression parameters, we shouldn't be worried about these */ jpeg_set_defaults( &cinfo ); /* Now do the compression .. */ jpeg_start_compress( &cinfo, TRUE ); /* like reading a file, this time write one row at a time */ while( cinfo.next_scanline < cinfo.image_height ) { row_pointer[0] = &raw_image[ cinfo.next_scanline * cinfo.image_width * cinfo.input_components]; jpeg_write_scanlines( &cinfo, row_pointer, 1 ); } /* similar to read file, clean up after we're done compressing */ jpeg_finish_compress( &cinfo ); jpeg_destroy_compress( &cinfo ); fclose( outfile ); /* success code is 1! */ return 1; } Anybody could help me out a bit with it? I've tried meddling with it but I am not sure how to do it. I I just replace this line: jpeg_stdio_dest(&cinfo, outfile); It's not going to work. There is more stuff that needs to be changed a bit in that function and I am being a little lost from all those pointers and memory management.

    Read the article

  • Une faille permet à des sites de voler l'historique des navigateurs, des chercheurs offrent un outil pour mesurer son impact sur vous

    Une faille sur le Net permet à des sites de voler l'historique des navigateurs, des chercheurs offrent un outil pour mesurer cet impact sur vous Des chercheurs de l'Université de San Diego viennent de découvrir une faille très largement répandue sur le Web ; leur étude s'appuie déjà sur 485 sites qui se font un plaisir de l'exploiter (majoritairement, des sites réservés aux adultes, dans une sélection des 50.000 sites les plus visités au monde). Mais de quoi parle-t-on ? D'une vulnérabilité qui permet à un domaine malveillant d'aller fouiner dans votre historique, et ainsi de tout savoir des sites que vous avez précédemment visité. C'est la manière dont la majorité des navigateurs gère les liens qui ont été visités ...

    Read the article

< Previous Page | 124 125 126 127 128 129 130 131 132 133 134 135  | Next Page >