aboutsummaryrefslogtreecommitdiff
path: root/generic/tkZinc.c
AgeCommit message (Collapse)Author
2004-09-21One more attempt towards a truly working GL initializationlecoanet
code.
2004-09-17Added a test on the bounds of the field index in command bbox.lecoanet
2004-09-09Fixed a bug in the parsing of find enclosed/overlapping arguments.lecoanet
The recursive flag was mixed with the inGroup argument. Added a test to the bbox method argument parsing to trap permutation of options (-label -field) and tagOrId specifications.
2004-07-30Fixed a problem in GL init code which prevented zinc fromlecoanet
working with Mesa. A (hopefully) more useful warning is emitted when openGL rendering is not good enough (most often 24 bits buffer or stencil not available). Tweaking and bending in the openGL init code to make it work better.
2004-05-19Changed the extent of some GL ifdef so that the file compilelecoanet
without GL defined.
2004-05-19ZnGLMakeCurrent: Added code to select a valid context from the widget listlecoanet
for the display when no widget is passed in. This is the case when freeing image or font texture. Enabled the context freeing for the last widget on a given display. Both patches together should fix the crash on MacOS.
2004-05-14Suppressed the fieldbbox command. It has been merged with bbox andlecoanet
can be called by the -field and -label options.
2004-05-10Suppressed all OutputDebugString traces.lecoanet
Fixed the GL redrawing problem occuring under Windows after a window move and under Linux when the window was clipped by the screen border. The graphic context is freed when no longer needed, (no more zinc windows on a given display). This code is suspended on Linux because of a problem (perhaps in nvidia driver) causing a random) crash of the server. Fixed under Windows the problem of activating a GL context for freeing resources after the destruction of a widget. Now a list of active widgets is kept and the code activate a remaining widget in the same context. Fixed default GL font loading.
2004-05-07Slightly rearranged the init sequence for openGL. This willlecoanet
ensure that render will be reset has soon has possible if GL is not there. It will _stay_ set if we discover later that GL is not available. This will fix a rather bewildering situation when using images: The image is created for GL, then all of a sudden accessed in an X11 context. Fixed the event emitting code so that enter/leaves are not emitted (or omitted) out of sequence.
2004-05-03Fix a very nasty memory bug under Perl/Tk windows.lecoanet
2004-04-30Adaptation for compilation on Windows and Perl.lecoanet
Creation of new global variables including the tesselator and the temporary lists. The tesselator common code is now in this module. Introduction of the new option configuration code for Perl/Tk 804 and Tcl. The Perl/Tk 800 code still use the old API. Reworking of the initialisation and switching of the drawable, backbuffer and openGL contexts. The initialisation is now done when receiving the map event. This still is not perfect on Windows. Fixed the scrollbar protocol. It should now work like the canvas in all configurations. Fixed the Coords command. It now correctly returns a point as a flat list when requested a single point or when the item has only one coordinate. Some cast to smooth out the compile on Windows. Changes in the signature of ZnAttributesInfo. The scissors used when redrawing in openGL are desactivated during resize and expose. It doesn't work when under those conditions. In Windows a full redraw is forced when entering the window to compensate for the same bug after a window move.
2004-03-26Added a new fieldbbox method and restored the old behavior of the bbox method.lecoanet
2004-03-24Added a boolean abs to the translate method. Added the tget method.lecoanet
2004-03-23Changes related to OpenGL context handling (only one context per display) ↵lecoanet
and patches to avoid using widget structure in image cache */
2004-03-23Fix a problem with the scrollbar protocol (Y scrollbar bug).lecoanet
2004-03-10*** empty log message ***lecoanet
2004-03-04The coords command will return a flat point instead of a listlecoanet
of one point for all items with a -position.
2004-03-04 * OpenGL contexts are allocated by display instead of by widget.lecoanet
* Colormaps are not allocated for each widget window but are cached by display (should be perhaps by screen) * Freed the visual info returned by each call to glXChooseVisual. This used to generate a memory leak for each widget instance. * Adapted for perl/Tk 804. * Some better init code to prevent valgrind from reporting use of unitialized memory (can be useful anyway). * Commented an OpenGL bug workaround dealing with bad partial redraw after moving the window. It seems to have disappeared (tested with NVIDIA 53.3). * Free the drawing GC as part of destroy cleanup.
2004-02-16Forced override_atomic to False when Picking forlecoanet
enter/leave management in PickCurrentItem.
2004-02-13Suppressed trace infoslecoanet
2004-02-13Changed the behavior of options/attributes for managing and displaying track ↵lecoanet
histories
2004-02-13Fixed an error in DoEvent related to which part shouldlecoanet
be considered for focusable items. Introduce the postscript command (not functional yet!)
2004-01-26 * (WidgetObjCmd): Added a flag for providing angles inlecoanet
degrees to the rotate method. * (WidgetObjCmd): Added an optional center for the scale method. * (FindItems): Modified the recursive flag of sub-methods closest, enclosed, overlapping so that the find can be asked to investigate into atomic groups. Simply say 'override' instead of true/false. * (WidgetObjCmd): Method bbox no longer works on multiple tagOrIds but handles label and field bboxes on items with fields. * bind now handles virtual events. * bind accept an alternative syntax for specifying fields. * Added conditional inclusion of overlap manager include
2003-12-11 * Added a tcompose method for composing two transform fromlecoanet
items or named transforms. * Added a tset method to set a transform from given matrix values. * Reformat of the code to suppress braces inconsistencies due to ifdefs. * Added a skew method to skew a transform both along x and y axes. * The transform command now accept the special tag device as source and destination. It accept also a named transform as source and destination. * Added a reserved tag identity as possible source transform for command tsave. * tsave can now take a named transform as source.
2003-11-28 * The smooth method incorrectly reported bezier curvelecoanet
segments instead of straight line segments. * Added a configuration option -followpointer to try some optimizations of motion event processing under application control. The motion events are still emitted but the enter leave processing is suspended when this option is set to zero.
2003-10-05Changed scrollbar support code so that it can worklecoanet
with tcl and perl-tk.
2003-10-02Added the -tracksymbol option to be used as a default forlecoanet
the -symbol attribute for tracks. Updated the option code to follow the new image behavior. The scrollbar protocol in perl has been slightly debugged but still won't work, more on this later. Update the font code to load fonts infos (GL) only when receiving the realize event.
2003-06-16 * Use of the new ZnGetGradientPixel when possiblelecoanet
* (ZincObjCmd): Fixed a core dump when destroying zinc after an error occured during the first Configure. The tesselator got inited a bit late.
2003-05-09 * (PickCurrentItem, DoEvent): Fixed a couple of problems inlecoanet
Enter/Leave generation during grabs. * Fix a segfault occuring when asking for the ancestors of an unknown item. * In Contour, the contour reverting was done on the shared point array given by GetClipVertices/GetContours, not on the new unshared array. * It is now possible to add a polygonal (non simple) contour from an item that export only the GetClipVertices method. In the past it was only possible to add bounding boxes via this method. This is important for rotated rectangles for example.
2003-04-25Correct a misalignment between the option array andlecoanet
the option offsets causing core dumps and a wrong behavior of scrollbars under Windows.
2003-04-24Corrected glu.h include.lecoanet
wi->flags was not properly inited (too late). Added max_tex_size with a default value of 64. Shut up some warnings (some not so harmless). Moved the ZnGetTexFont after the window mapping is in effect. The same for glGetIntegerv.
2003-04-16Update from the Windows port and general cleanup/restructurelecoanet
2003-04-02 * Modifs afin que le gradient de relief utilis� pour dessinerlecoanet
la bordure de fen�tre ne soit allou� que si le relief est effectivement utilis�.
2003-03-17 * Utilisation de l'ent�te glu.h de libtess au lieu de GLU.lecoanet
* (WidgetObjCmd): Emp�che de placer un groupe ancetre dans un de ses fils par la commande chggroup. * (Contour): Correction d'une erreur de type sur winding_flag. * Incorporation du test de la variable d'environnement ZINC_GLX_INFO permettant de desactiver les msgs d'info GL. * (Repair): Suppression de la d�pendance � GLU (gluOrtho2D). * (Tkzinc_Init): Compilation pour utiliser tcl et tk avec les stubs, l'init est plus conforme � la norme Tcl actuelle. * (Destroy): Correction d'un core dump du � la tentative de lib�ration d'un context GL en X.
2003-01-22*** empty log message ***lecoanet
2003-01-20 * (WidgetObjCmd): Corrige une erreur Tk lorsque l'on essayaitlecoanet
de retrouver les callbacks associ�s � un binding vide sur 1 item. Maintenant on retourne correctment la chaine vide.
2003-01-15 * (WidgetObjCmd): Rej�te toute tentative de cloner le top groupelecoanet
2003-01-14 * Modification de la commande contour: la sous-commandelecoanet
addhole est supprim�e, un flag est ajout� � la commande add pour indiquer si le contour doit �tre ajout� CW(-1), CCW(1) ou tel quel(0), cette derni�re valeur uniquement si on sp�cifie une liste de points. * Modification de la commande transform afin qu'elle retourne une liste de m�me forme que la liste d'entr�e (avec les points de contr�les et tout). * Modification de la commande smooth afin qu'elle retourne une liste de points de nouvelle forme. * Modification de la commande fit afin qu'elle retourne une liste de points de nouvelle forme. * (Contour): la sous commande add retourne un entier sign� d�crivant l'index du contour ajout� et le signe informe si la liste de points fournie a �t� retourn�e par la commande (n'a pas d'effet si on a sp�cifi� un item). * Modification de ParseCoordList pour retourner un booleen indiquant si il a pars� une liste nouvelle forme ou non. * Ajout de code pour maintenir en m�moire la texture des fontes par d�faut, autrement elles sont sans arr�t lib�r�es puis recharg�es � chaque cr�ation d'item contenant du texte jusqu'� ce qu'un item garde la fonte par d�faut. * Lib�ration des fontes et des textures associ�es dans Destroy. Pour l'instant le code de lib�ration des fontes Tk est comment� car il provoque un core dump en Perl/Tk
2002-12-20 * Corrige un bug provoquant une boucle infinie lorsquelecoanet
l'on employe un tag dans la commande lower.
2002-12-09 * Le tesselateur est toujours cr�� m�me quand on ne compile paslecoanet
avec GL. * Modifs pour compiler proprement en Tcl * Corrections de bugs dans Contour et Coords.
2002-11-05Suppression de GPC.lecoanet
Chagement des printf en fprintf sur stderr. Initialisation et support du tesselateur GLU. Modification et exportation de la fonction ZnParseCoordList afin de g�n�raliser son emploi dans tout Zinc. Elle supporte maintenant un nouveau type de liste de coords avec specification optionnelle d'un controle par point. La fonction Contour (et la commande associ�e) ont �t� enti�rement remani�es suite � la suppression de GPC. Il n'est plus possible de faire diff, intersect, union et xor entre deux contours. A la place on peut ajouter un contour 'add' un trou 'addhole' ou les supprimer. Il est possible de g�rer des contours paths. Remaniement de Coords (et de la commande associ�e) afin de g�rer le nouveau style de contour paths.
2002-09-02 * (Contour): Lorsque l'on utilise contour sur un item nelecoanet
supportant pas la commande, au lieu d'une erreur, la commande retourne le nombre de contours (0 ou 1 en l'occurence). Si la commande est appel�e sans sous-commande bool�enne, elle retourne le nombre de contours de l'item. * (Contour): Corrige un message d'erreur vide en cas d'item ou de tag non trouv�. * (WidgetObjCmd): Corrige le traitement des erreurs dans la commande gname
2002-07-05 * Utilisation de la m�thode HasTag pour la recherche d'un taglecoanet
dans un item. * (FindItems): Ajout de la m�thode ancestors qui permet de retrouver les anc�tres d'un item en une seule fois (�ventuellement avec filtrage sur un tag).
2002-06-10 * Tsave poss�de une fonctionalit� suppl�mentaire: lorsqu'elle estlecoanet
appel�e avec 1 seul param�tre (le nom d'une transfo, elle dit si ce nom de transfo est d�j� utilis�). * Gname poss�de une fonctionalit� suppl�mentaire: lorsqu'elle est appel�e avec 1 seul param�tre (le nom d'un gradient, elle dit si ce nom de gradient est d�j� utilis�).
2002-05-29 * (ZnReliefParse): Correction de tous les handlers d'optionlecoanet
CUSTOM qui provoquaient un core dump en Tcl (probl�me entre Tcl_Obj * et char *.
2002-05-27 * Les ressources de type images/bitmaps d�finies dans zinc (-tile,lecoanet
-mapdistancesymbol, etc), ne pouvaient pas �tre remises � "". * Une consultation de la valeur de ces ressources provoquait un core dump si la ressource valait "".
2002-05-15* Correction d'un bug provoquant un core dump en 3.2.5a suite � la ↵lecoanet
modification du code de r�paration de l'image. Un redisplay �tait planifi� lors de la destruction d'un widget. * Adaptations multiples suite au redesign complet de la gestion des images/bitmaps et fontes. * Un tag chaine vide (ou un chemin sans tag final) est �quivalent au tag 'all'. * Meilleure prise en compte de la pr�sence de l'extension GLX. Son absence ne devrait plus g�n�rer de core dump. * La commande clone ne clone plus tous les items d�sign�s par le tagOrId mais seulement le premier dans l'ordre de la display list et elle retourne l'id de ce nouvel item. * Correction d'une erreur dans itemconfigure qui retournait une info incorrecte quand on lui demandait la liste des attributs d'un field. * Les sous commandes de find/addtag ont toutes �t� remani�es d'une mani�re ou d'une autre. * Les tags peuvent d�sormais comporter un chemin permettant de pr�ciser dans quelle partie de l'arborescence les items doivent �tre recherch�s. Beaucoup de modifs.
2002-04-12Invalidation de l'item de focus si la taille du curseurlecoanet
d'insertion change.
2002-04-11Int�gration de ZnNeedRedisplay dans ZnDamage.lecoanet
-render n'est plus un bool�en: il a trois �tats: 0 pour le rendu X, 1 pour le rendu GL direct (si possible), 2 pour le rendu GL indirect. Toutes les commandes acceptant un param�tre field optionnel comprennent un field index "" comme �tant une absence de param�tre: aucune erreur n'est g�n�r�e et tout se passe comme si le param�tre n'avait pas �t� sp�cifi�. Les commandes 'focus' et 'select item' retournent une liste (item, field) ou "" si pas d'item. La pr�sence de field est garantie (liste de longueur 2) mais peut �tre "", se qui veut dire pas de field. On peut directement utiliser le r�sultat de ces commandes comme param�tres pour les commandes prennant un couple item, field. La commande currentpart prend un param�tre bool�en optionnel qui sp�cifie si elle doit reporter les parties priv�es de l'item ou seulement les fields (elle retourne "" si le pointeur est sur une partie priv�e). Lors d'un chagement de position de curseur il etait inutile de reprendre la g�om�trie de l'item concern�, seulement refaire l'affichage.
2002-04-08Support du focus sur tous les items.lecoanet
Support du focus sur les fields. Support de la s�lection/curseur sur les fields. Les textes des fields sont editables. Transfert des commandes sur les MapInfos dans MapInfo.c. R�cup�ration du code d'endommagement/r�paration depuis Item.c. Diverses modifs li�es � la restructuration de Item.c et � la suppression de ITEM_P. D�but de modif des routines de recherche sur les tags (transfert de param�tres entre ZnTagSearchScan et ZnTagSearchFirst).