Version 0.7.1a -> Version 0.7.2 main improvement with the help of four(!) patches from Vadim Godunko. At this place I'd very much like to express my gratitude to him. - improved makefallb - change types from Ada-types to Interfaces.C-types wherever necessary to ensure correct data size independend of architecture or compiler Mapping Ada-type <-> C-type is not necessarily 1:1 as it is with GNAT Sorry, this will almost certainly break some applications - in x_lib.ads: add X_Create_Simple_Window move X_*_Event representative clause into private area to satisfy GNAT 3.14p - in x_lib-extensions-print.ad?: add Xp_Get_Locale_Net_String and Xp_Notify_Pdm - in x_toolkit.ads: add type Cardinal_Array - in xm_widgets-manager-spin_box spec. and body: add Arrow_Orientation resource and Wrap constraint resource - in xm_widgets-protocols spec. and body: add Null_Xt_Pointer as default value of Closure in Xm_Add_Protocol_Callback, Xm_Add_WM_Protocol_Callback, Xm_Remove_Protocol_Callback, Xm_Remove_WM_Protocol_Callback - in xm_widgets: define Xm_String_Tag_Array, Xm_Tab_List add tab list related routines Xm_String_Table_Propose_Tablist and Xm_Tab_List_Free change Xm_Rendition_Free, Xm_Render_Table_Free, Xm_Parse_Mapping_Free, Xm_Parse_Table_Free, Xm_String_Free, Xm_String_Free_Context argument access add functions Xm_Render_Table_Copy, Xm_Render_Table_Get_Rendition add type Orientation with Append_Set and Append_Get routines (replaces multiple occurences, in Xm_Widgets.Manager.Paned_Window, Xm_Widgets.Manager.Row_Column, Xm_Widgets.Manager.Scale, Xm_Widgets.Primitive.Scroll_Bar, Xm_Widgets.Primitive.Separator) - new packages Xm_Widgets.Print (Print support via X Print Protocol) X_Wide_Strings, Xm_Widgets.Manager.Row_Column.Simple - minor modifications for GNAT 3.14p compatibility in xm_widgets-drag_context.ads (see there) - new package Xm_Widgets-Manager-Spin_Box-Simple: only available in Motif 2.1 and later - major improvements of the example programs xmmore, clock and mandel - some bug fixes (remove memory leaks, make work-around for bug in Gnat 3.13p runtime lib) - add new sort and search routines (in directory generic) - new example program show_printers (needs X-Print Server, started e.g. by Xprt :1 &) - new example program xau_test ATTENTION: changes to Local.conf - define new variable GNAT313p_BUG in Local.conf - add new variable XP_LIB in Local.conf since Version 0.7 - put the binding itself under a less restrictive copyright similar to that of GNAT. This allows the unrestricted incorporation of the binding even in commercial and classified programs since Version 0.61 - adapted complete package to Motif2.1 (in Local.conf set IS_MOTIF21 to 1, don't set IS_MOTIF20 !) and added support for X11R6.3 (IS_X11R63) - corrected the name of the resource Xm_N_Through_Color in Xm_Widgets.Primitive.Scroll_Bar - corrected the name of the resource Xm_N_Select_Color in Xm_Widgets.Primitive.List - changed name of type Edit_Mode_Type to Edit_Mode in Xm_Widgets.Primitive.CS_Text (was already changed in Xm_Widgets.Primitive.Text) - changed Value of State_Type to Withdrawn (added trailing "n") in X_Lib.Property - added "_Type" to types Audible_Warning, Delete_Response, Keyboard_Focus_Policy and Input_Policy in Xm_Widgets.Shell - renamed package X_Lib.Atoms to X_Lib.Predefined_Atoms - renamed State_Type in X_Lib.Property to Window_State - moved routines concerning X_lib extensions to new package X_Lib.Extensions - created new package X_Lib.Extensions.Print (Print extension, not yet tested, only for X11R6.3) - added new package X_Auth (authorization) - moved definition of Protocol_Family (former Host_Family) and Net_Address (former Host_Family) to new package X_Connection - changed the Mandel example program. With gnat 3.12p on Linux 2.3.x with Motif2.1, XFree86 3.3.6 and glibc 2.1 it calculates the Mandelbrot set using 10 threads! Note: for this example program your Motif and the X libraries must be thread safe - include additions and changes from Vadim Godunko (vadik@zto.rost.ru) - bug fixes, thank you for the bug reports, James Bean and Joerg Schaefer - many minor changes - put the code under GNU General Public License since Version 0.6: - removed error in utils/xpm2axpm.adb (corrected in patch 1) since Version 0.5: - added X_Create_Bitmap_From_Data, X_Query_Best_Stipple, X_Query_Best_Tile, X_Restack_Windows and procedures for private color cells (X_Alloc_Color_Cells, X_Alloc_Color_Cells, X_Store_*Color*) and the until then missing X_Free_Colors to X_Lib, X_Query_Best_Cursor and X_Recolor_Cursor to X_Lib.Cursor, X_Get_Standard_Colormap, X_Set_Standard_Colormap to X_Lib.Std_Colormap - moved type Window_ID_Array_Type from X_Lib.Property to X_Lib, because it is already used there - corrected call of X_Sync (had wrong number of parameters!) - changed procedure names in Xm_Widgets.Primitive.List to be similar to the C-Interface of M*tif and also changed some type names - changed Append and Element routines in X_Toolkit.Resource so that for Resource_Size the Ada 'Size attribute can be used (Resource_Size is now in bits, not in bytes) - changed import interface definition of some routines (defined as function returning an integer in the Xlib C-interface, but in fact being a procedure, e.g. XFreeColors) - changed the functions in X_Image X_Image_Funcs returning an integer to procedures - new package Interfaces.C.Strings.String_Lists handling C type char** parameters - completely rewrote X_Command_Line, put internally used procedures into child package X_Command_Line.Internal - renamed several packages: String_List_C_Interface => String_List_Conversion (also changed) X_Toolkit.X_Private => X_Toolkit.Internal X_Toolkit_Private => Resource_Strings X_Lib.Resource.X_Private => X_Lib.Resource.Internal - corrected many errors in Xpm_Lib Version 0.4 to 0.5: - changed "child type" constraint resources type to reflect the extension of this type by the class main window - added Image Cache functions to Xm_Widgets - added Parse Mapping/Parse Table functions to Xm_Widgets (e.g. Xm_String_Unparse) - changes to package X_Lib: o added simple types Bits_8, Bits_16 and Bits_32 (necessary for data transfer e.g. window properties) o added X_Query_Tree o moved host access functions to new subpackage X_Lib.Host_Access o renamed and generalized subpackage X_Lib.Window_Manager to X_Lib.Property o moved functions X_Intern_Atom and X_Get_Atom_Name to newly created subpackage X_Lib.Property o added grab functions and several types connected to them - added to package X_Toolkit: o procedures Xt_Last_Event_Processed and Xt_Last_Timestamp_Processed o procedures Xt_Register_Drawable and Xt_Unregister_Drawable o procedure Xt_Set_WM_Colormap_Windows o procedures Xt_Find_File and Xt_Resolve_Pathname - removed from package X_Toolkit: o type Modifiers. It is replaced by the Modifiers_Mask_Type from X_Lib - added new package interfaces.c.wstrings similar to interfaces.w.strings, to support wchar_t*, i.e. C-style wide character strings (normally wchar_t /= Wide_Character, because wchar_t uses 32 bits but Wide_Character only 16 bits. it is therefore VERY INPORTANT that the constant wchar_t_bits in System.Parameters is correctly set for your os) - changed some type names in Xm_Widgets.Transfer - added many type names in Xm_Widgets.Manager.Container and also corrected many errors - IMPORTANT : changed To_Callback_Struct to return Callback_Struct_Access instead of Callback_Struct_Recs, because sometimes the Callback_Structs have to return parameters as well Version 0.3 to 0.4: - exchanged "echo" with "printf". This solves a problem on strict SYSV systems thanks to Stephane Barbey (stephane.barbey@di.epfl.ch) - added many Xlib routines (X_Height_Of_Screen, X_Height_MM_Of_Screen, X_Width_Of_Screen, X_Width_MM_Of_Screen, X_Load_Font, X_Map_Window, X_Create_Window, X_Change_Window_Atttributes, X_Window_Events, ...) - new X_Lib sub-packages Std_Colormap and Window_Manager - removed error in X_Parse_Color - had to change Event_Type into an integer type (from enumeration type), because of the extensions defining their additional events - added Standard Colormap functions to X_Misc_Utils - changed Callback_Reason from enumeration type to a type derived from integer because of extensions which are then integrateable I got the hint in your comment to the GL widget, Chip (chipr@niestu.com)! - new example program "image" by Jim Bean - changed Depth-Parameter of Xt_Allocate_GC to type Color_Depth - new example program "mandel" which shows the multithreaded programming (runs with native threads and glibc2 based X libraries on Linux 2.*) Version 0.2 to 0.3: - changed Keysym_ID to Key_Sym_ID to reflect spelling in X.h (KeySym) - added many Xlib routines - support Xlib procedures handling with Colormaps and Window properties - support low level Xt resource management (in X_Toolkit.Resource) - moved declaration of types Position and Dimension from X_Toolkit to X_Lib, because logically they are already needed there - added forms of Xm_Draw_String* without clip rectangle - replaced Interfaces.C.Strings.Chars_Ptr by the own type X_Strings.X_String - added (the forgotten) X_Error_Event to the X_Event record, restructured it - regrouped several Xlib items like cursors (added new package X_Lib.Cursor, removed package X_Lib.Cursorfont) and atoms (moved Atom query functions to X_Lib.Atoms) - removed many errors (and surely added some) Version 0.1 to 0.2: - fixed record representations for big endian machines in special and for some records in general - added Xm_Add_To_Post_From_List function - clearyfied Callback_Struct conversion, checks included - new package Xm_Widgets.Transfer for selection mechanism - many changes in drag and drop packages - added XmTextField widget functions (in Xm_Widgets.Primitive.Text) - added Graphics Context declarations and functions in the X_Lib and X_Toolkit packages - added Xlib drawing and host list functions - added Colour allocation function Version 0.1 first release -- record representations were not applicable for big endian machines!