This archive has been exported from a Fossil repository 
at local date Fri 08/16/2019 
 
 
Repository information 
====================== 
project-name: Little Forms
repository:   C:/Code/lforms/../fossil/lforms.fossil
local-root:   C:/Code/lforms/
config-db:    C:/Users/badsector/AppData/Local/_fossil
project-code: 0206ab3892c129ee4b2a63f50ff4f445c80a0a9e
checkout:     e22306adcd71f49fb07854277d30028d4d423d42 2019-08-16 20:23:24 UTC
parent:       21b9b9ab52ed98d4a3538c41e2d298fec97bbcfb 2019-08-16 20:20:24 UTC
tags:         trunk
comment:      Fix warning about winsock/socket use (user: badsector)
check-ins:    223
 
 
Full timeline 
============= 
=== 2019-08-16 ===
20:23:24 [e22306adcd] *CURRENT* Fix warning about winsock/socket use (user: badsector tags: trunk)
20:20:24 [21b9b9ab52] Fix --no-xim compilation (user: badsector tags: trunk)
=== 2019-07-17 ===
17:59:56 [69525a2b63] Normalized platform recognition in configure.py, fixed typo for LFORMS_NOXIM (was VFORMS_NOXIM) and added winsock2 library when targeting X11 under Windows, (user: badsector tags: trunk)
=== 2019-04-04 ===
00:21:13 [84cb82e7cd] Fixed a crash in the X11 backend when the enumerated fonts for the core fonts API ended with repeated entries. (user: badsector tags: trunk)
=== 2019-02-21 ===
20:04:05 [fdf7630a4a] Use a smaller font for Windows to match the default GUI font size (user: badsector tags: trunk)
20:00:30 [618b1af68c] Brought Win32 backend up to date and added missing xpm icons. Also added --opengl parameter in generated lforms-config to show the libraries for opengl for the current platform. (user: badsector tags: trunk)
19:59:25 [9d734b391e] Fixed unselected radio button image size (user: badsector tags: trunk)
19:58:34 [866f5a9a6c] Update dates (user: badsector tags: trunk)
=== 2018-10-21 ===
09:35:40 [caff2f6c47] Add some reserved items in public scrollbar structs (also rounds up to power of two number of items which can be handy) (user: badsector tags: trunk)
09:35:08 [f61564e682] Fixed a couple of crashes in editor.c's pos_at (one was about accessing outdated x coordinate info and another about trying to access out-of-bounds array entry) (user: badsector tags: trunk)
=== 2018-10-20 ===
20:31:42 [f952029ee7] Fix xpm pixmaps for button and scrollbar (user: badsector tags: trunk)
19:37:27 [01e11feff4] Remove glyphs (ff_glyph, lfmkglyph, etc) and image tools and replace their uses with XPM which handles both cases just fine. (user: badsector tags: trunk)
19:36:01 [499aef056f] Add null checks in obj.c (user: badsector tags: trunk)
19:35:28 [1bab3ab779] Fix box.c fallthrough getter (user: badsector tags: trunk)
18:50:19 [17da7a48dc] Added "magic" FALLTHRU comments for GCC to silence false positives for switch fallthrough warnings. (user: badsector tags: trunk)
18:36:12 [bad9cf98cb] Fix unshifted nullchecks in obj.c (user: badsector tags: trunk)
18:31:19 [a267dfc8dc] Made radio buttons send a FF_CHANGE event to themselves when their selected status is changed, updated the radio button example to handle that, made checkboxes to send an FF_CHANGE event to themselves when their checked status is changed and added ff_draw_part in graphics (X11 only for now) to draw a part of a bitmap. (user: badsector tags: trunk)
18:20:15 [14626930b2] Remove commented-out code from winsys.c (user: badsector tags: trunk)
18:19:39 [d5c2469acf] When a toplevel window is focused and the toplevel doesn't have a focus_child, make the focus_child the toplevel itself to ensure that key input events reach a window. (user: badsector tags: trunk)
18:18:38 [fdce925dab] Cancel moving the splitter if it is doubleclicked (the first press of a double click is taken as a signal to start moving and remains in 'moving mode' until the mouse button is released - this patch avoids this by existing the moving state). (user: badsector tags: trunk)
18:17:20 [5bbb9c5d49] Fixed focus handling with multiple toplevel windows (each toplevel window now keeps its own focused child) and reintroduced XIM handling from the pre-focus-rewrite commit. (user: badsector tags: trunk)
18:16:04 [a81440f860] Use helvetica for non-Xft builds. (user: badsector tags: trunk)
18:11:40 [fc3ee27539] Fixed missing LFORMS_SOURCE_CODE in xpm.c (user: badsector tags: trunk)
18:01:45 [91c7e18f00] When building the code through configure.py and make, ensure that all Little Forms source code files define LFORMS_SOURCE_CODE before including lforms.h. (user: badsector tags: trunk)
17:58:07 [b6446b5b10] Remove reference to MS fonts (not needed, everything will have Sans Serif anyway... probably), cleanup font selection code a little, rewrite comment about ignoring errors (thanks to -slightly- better understanding about why it is needed :-P) (user: badsector tags: trunk)
16:34:28 [0ba78ffeec] Added --develv option to configure.py which acts the same as --devel but without the sanitizers since they conflict with Valgrind. (user: badsector tags: trunk)
16:21:52 [c7dbffe21a] Added support for embedding XPM images with ff_xpm and loading XPM files with ff_xpmload. XPM files can use symbolic colors registered with ff_xpmsym. There are already a few preregistered colors that map to style colors (3d-face, 3d-shadow, 3d-dark, 3d-light, 3d-text, 3d-disabled-text, active, active-text, editor, editor-text, editor-disabled-text, track, dark-track, scrollbar-border, scrollbar-pad, scrollbar, menu and menu-text). (user: badsector tags: trunk)
16:08:16 [2939f4319d] Added a --no-xim option in configure to disable XIM support, fixed a memory leak on shutdown and a memory leak with XIM on window destruction. (user: badsector tags: trunk)
=== 2018-06-28 ===
21:13:28 [6324cc19c1] Changes to wiki page [To Do] (user: badsector)
=== 2018-02-11 ===
22:31:05 [af5fde0531] Make user-oriented events from editor (FF_CARET, FF_CHANGE), radio (FF_CHANGE) and slider (FF_CHANGE) to bubble. (user: badsector tags: trunk)
22:14:23 [fbb86d00a2] Ensure doubleclicking on the list outside of an item doesn't send an FF_ACTION event even if a selection exists. (user: badsector tags: trunk)
22:06:47 [7c406f1a67] Make ff_list to emit FF_ACTION when an item is double clicked with the left mouse button or the return key is pressed with any item selected. (user: badsector tags: trunk)
=== 2018-01-20 ===
14:53:40 [401032f22d] Made sure that ff_area calls from FF_AREA handlers receive the up to date data and update the win->width/height (which made it necessary to send FF_AREA events from ff_ws_area so that they are not blocked when the ConfigureEvent eventually comes - at the moment this raised the relayouts a bit). (user: badsector tags: trunk)
13:01:48 [8232d8fe10] Rewrote input and focus handling in X11 to avoid the focus being lost when moving windows in some window managers (e.g. Window Maker) - the focus is now fully managed by Little Forms and redirected from the "real" focused window to the window that Little Forms considers as focused, added ff_running() to check if the application is running or shutting down and used it in X11 backend to ignore timers, focus and pendng exposures when shutting down, made X11 error reporting to be hidden by default in non-debug builds to avoid the backend reporting mess with normal application output, added -show-x11-errors/-hide-x11-errors arguments and LFORMS_SHOWERRORS envar to control showing errors or not (default yes for debug builds, no otherwise), added -show-x11-damage for showing damaged regions (similar to LFORMS_SHOWDAMAGE envar), added -no-x11-error-trap argument and LFORMS_TRAPERRORS envar when x11 error trapping is enabled to disable it and made other LFORMS_ envars to take into consideration the value (0 or 1). (user: badsector tags: trunk)
=== 2018-01-19 ===
23:46:19 [40425b7abb] Made frozen windows to defer relayout requests until thawed, made ff_freeze and ff_thaw to also freeze/thaw children, made add_child/remove_child freeze/thaw children when added to/removed from frozen parent, made relayout requests (in non-frozen windows) to be executed at the next cycle and ignore further requests until the relayout is performed to avoid repeated relayouts when creating controls, added FF_FROZEN flag to create a window in frozen state, removed the FF_PAINT_ON_THAW flag and replaced it with a bitflag, made X11 backend track width/height to only report FF_AREA when the size actually changes instead of every time a ConfigureNotify is received (also now the width/height is used in a couple of areas instead of asking the X server for it) and made the fonts demo to use the new stuff. This increases the layout performance dramatically to around ~10x on average in the complex examples/demos. (user: badsector tags: trunk)
=== 2018-01-18 ===
14:32:03 [0ef0c0bca8] Changes to wiki page [Screenshots] (user: badsector)
14:30:10 [4d88619499] Add attachment [/artifact/492ea42aeaf9d67e|lfmodal.png] to wiki page [Screenshots] (user: badsector)
14:12:34 [9086bc51ad] Added modal windows (which needed a lot of changes, right now only for the X11 backend) using ff_modal, cleaned up parented popup windows so that they are treated like proper toplevel windows that happen to have a separateparent window, modal windows can be either global or parented popups, added the ability to enable/disable windows with ff_enable and query with ff_enabled, added FF_ENABLE event that is called when the state changes, made label, list, choice, checkbox, button and edit reflect their enabled status, added FF_DISABLED window flag to create windows that start as disabled (the flag is removed afterwards), added FF_BUBBLEMASK event that is called before an event bubbles to the superior object to check if it can be handled (used by popups to block events reaching to their parents), added FF_3DDISABLEDTEXT_COLOR and FF_EDDISABLEDTEXT_COLOR colors, made lists pass active foreground and background (mainly used to use the disabled color for the active item at the moment if the list is disabled), added ff_ispopup function, added ff_npchildren that works like ff_children but only gives back non-popup childrens, layout managers are only given the non-popup children (it wouldn't make sense otherwise), made ff_frame always set the FF_POPUP flag if it gets a parent (non-popup parented frames make no sense), fixed global event handlers receiving non-bubbling events, made the "caption" attribute set the toplevel caption (via ff_ws_set_caption) for all non-parented and popup windows and made ff_frame set the caption attribute instead of calling ff_ws_set_caption directly, implemented FF_CENTERED in the X11 backend and made a few minor cleanups. (user: badsector tags: trunk)
05:44:33 [31e4a760e2] Added a --devel option to configure.py as a shortcut for the configuration i use during development. (user: badsector tags: trunk)
=== 2018-01-17 ===
15:33:23 [5f75fff2a2] Changes to wiki page [Screenshots] (user: badsector)
15:27:44 [fdaf36ce40] Add attachment [/artifact/72b3f87a9665c88b|lfgrid.png] to wiki page [Screenshots] (user: badsector)
15:26:42 [ecdd759c36] Added grid layout (the flexgrid variety, although it can be made to use the same size for all cells) through the ff_grid function and an example to show (some of) its use. (user: badsector tags: trunk)
07:58:53 [73fbfceb06] Implemented the damage query functionality in Win32. (user: badsector tags: trunk)
07:18:50 [a67978948f] Changes to wiki page [Screenshots] (user: badsector)
07:11:27 [68d7c3434e] Add attachment [/artifact/a12da5f318aada3b|lfdamage.png] to wiki page [Screenshots] (user: badsector)
07:11:04 [334d31ba25] Added damage area querying with ff_damaged() and ff_isdamaged() so that window paint handlers can avoid painting areas that are not damaged, added the function ff_damage to damage only specific areas of the window instead of the entire window, added ff_rect_over_rect utility function to check if two rectangles overlap, rewrote X11 expose accumulation code to store damage rects, added LFORMS_SHOWDAMAGE environment variable for showing the damaged rects after painting (for debugging) and added an example for showing how to use damage queries. This stuff only works in X11 for now, Win32 backend needs update. (user: badsector tags: trunk)
=== 2018-01-16 ===
16:10:34 [736039bb7e] Made splitter to 'fit' when doubleclicked (user: badsector tags: trunk)
07:17:00 [e0f9c069cd] Changes to wiki page [Custom Control Example] (user: badsector)
05:02:21 [edacc33eea] Changes to wiki page [Screenshots] (user: badsector)
05:00:43 [2a659ed133] Changes to wiki page [Screenshots] (user: badsector)
04:58:55 [475edaee3f] Changes to wiki page [Screenshots] (user: badsector)
04:56:35 [6dee63f440] Add attachment [/artifact/691f05a1d705daa2|lfwinxp.png] to wiki page [Screenshots] (user: badsector)
04:45:47 [10b7cb9882] Implemented FF_DBLCLICK in the Win32 backend and updated the OpenWatcom project files (user: badsector tags: trunk)
04:29:32 [502313942b] Changes to wiki page [Little Forms] (user: badsector)
04:24:06 [5b27741550] Minor visual cleanup in dblclick.c. (user: badsector tags: trunk)
04:22:30 [5b36a0773c] Changes to wiki page [Screenshots] (user: badsector)
04:21:51 [62b12a218f] Add attachment [/artifact/655ce5ef3587aaa3|lfdblclick.png] to wiki page [Screenshots] (user: badsector)
04:17:50 [e73904fc75] Changes to wiki page [Screenshots] (user: badsector)
04:12:54 [98e0749c87] Fixed listbox item reveal when adding new items and when the listbox is frozen, fixed listbox item size calculation when a non-default font is used while the listbox is frozen or not visible yet, remove unnecessary request of state from listbox, minor visual cleanup in dblclick and minor whitespace cleanup in scrollbar.c (user: badsector tags: trunk)
03:13:01 [f317446c81] Added FF_DBLCLICK event for reporting double clicks (only X11 backend for now). (user: badsector tags: trunk)
=== 2018-01-15 ===
12:09:55 [ae43de8a5f] Changes to wiki page [Screenshots] (user: badsector)
11:53:20 [b994c52799] Delete attachment "lfsplitter.png" from wiki page [Screenshots] (user: badsector)
11:50:02 [081f3ee265] Changes to wiki page [Screenshots] (user: badsector)
11:49:25 [5ddc3b7f55] Add attachment [/artifact/0ca207cd86079268|lfsplitter.png] to wiki page [Screenshots] (user: badsector)
11:48:04 [27349ad562] Delete attachment "lfsplitter.png" from wiki page [Screenshots] (user: badsector)
11:44:25 [d20694d298] Implemented cursor support for the Win32 backend and fixed off-by-one error in splitter's layout. (user: badsector tags: trunk)
11:42:29 [3345710678] Forgot to commit the new OpenWatcom target files for the examples. (user: badsector tags: trunk)
11:01:49 [bf245a73b4] Fixed windows building, updated OpenWatcom project files and fixed a hang when calling ff_pump_events at startup in Windows. (user: badsector tags: trunk)
09:31:03 [534e54d2e4] Added support for mouse cursors (X11 backend only for now) using the new ff_cursor function that allows to define a cursor per window through a predefined set (maybe will allow custom cursors in the future - the argument is an intptr to allow for using the same method in the future with an object) and made the editor and splitter use it. Also added some NULL checks in a few window functions that previously lacked them. (user: badsector tags: trunk)
07:34:25 [ec2df85048] Minor typo in splitter example. (user: badsector tags: trunk)
07:31:17 [0899d9ebac] Changes to wiki page [Screenshots] (user: badsector)
07:25:11 [cf8872f67e] Changes to wiki page [To Do] (user: badsector)
07:23:51 [0b1e0184a5] Added a splitter control that can contain two other controls separated by by a horizontal or vertical line (based on its orientation) that the user can move, made sure that buttons, checkboxes and lists do not let mouse events that they actually handle fall through, cleanup some macro use, added ff_ws_sync() that is used to synchronize the application with the window server, made ff_pump_events use it (ff_run() still doesn't use it so synchronization only happens when explicitly pumping events), made ff_ws_process_laters handle recursive calls (ff_later calls with functions that call ff_pump_events again), made ff_lh_prefsize allow one of the width/height to be NULL and replaced some int uses in slider with bitflags. (user: badsector tags: trunk)
00:51:53 [4ac99f68eb] Changes to wiki page [To Do] (user: badsector)
00:46:15 [8742aa0237] Changes to wiki page [Screenshots] (user: badsector)
00:38:15 [d2424007b9] Add attachment [/artifact/148a9792a0912031|lfnotebook.png] to wiki page [Screenshots] (user: badsector)
00:35:35 [3be732c374] Added notebook control that can be used as a multi-page container and renamed "active" attribute in tabstrip to "selection" so that it can be used together with list and choice as a selector for notebook. (user: badsector tags: trunk)
=== 2018-01-14 ===
10:27:58 [4a8fd85d6b] Changes to wiki page [To Do] (user: badsector)
10:23:02 [45758547a4] Changes to wiki page [Screenshots] (user: badsector)
10:21:04 [4d604b3195] Changes to wiki page [Screenshots] (user: badsector)
10:17:16 [a9baa5ab06] Add attachment [/artifact/01ce9406ffa5cd79|lfradio.png] to wiki page [Screenshots] (user: badsector)
10:16:52 [432ad5d9c1] Changes to wiki page [Screenshots] (user: badsector)
09:44:56 [ef86205488] Added radio button controls via the ff_radio function. The radio buttons automatically deselect other radio buttons in the same parent and can optionally have a value attribute that is stored in the parent in its radio-value attribute when the radio button is selected and have an FF_CHANGE event sent to it. Otherwise the radio button pretty much behaves like a checkbox. The code for checkboxes was also cleaned up to replace ints with bitflags, use FF_YES/FF_NO instead of 1/0, only get the state data when necessary and use a preferred height of 16 instead of 15 so it is consistent with the other short controls. Finally made the border and stack layouts to use a new pair of attributes, container-width and container-height, as the container's own "preferred size" to be used when the children are smaller than the container's preferred width/height. Updated ff_box to use this when it has a caption. Finally finally, corrected minor typo in defines.h - events are for all objects not just windows. (user: badsector tags: trunk)
04:37:02 [c72b987620] Changes to wiki page [Examples] (user: badsector)
04:36:54 [4ae0cf0001] Changes to wiki page [Custom Control Example] (user: badsector)
04:34:00 [748c8e2edf] Changes to wiki page [Screenshots] (user: badsector)
04:32:01 [b8747bf06c] Add attachment [/artifact/4f4f0a19d7727610|lfprogress.png] to wiki page [Screenshots] (user: badsector)
04:30:00 [4c1964a175] Changes to wiki page [Examples] (user: badsector)
04:28:19 [892c0c8559] Changes to wiki page [Custom Control Example] (user: badsector)
04:21:49 [1868a98769] Changes to wiki page [Custom Control Example] (user: badsector)
04:19:14 [bec28e1cf8] Added a progress bar control (ff_progress) and example (progress.c), made ff_pack to accept a parameter for the direction of the packing (FF_VERTICAL, FF_HORIZONTAL or FF_BOTH - the last one being the previous behavior), removed unnecessary call to pack in clock example and fixed use of ff_find in the custom control example. (user: badsector tags: trunk)
01:54:17 [96acd7d928] Changes to wiki page [Custom Control Example] (user: badsector)
01:53:52 [fd82282bb5] Changes to wiki page [Custom Control Example] (user: badsector)
01:51:21 [4468dea604] Changes to wiki page [Custom Control Example] (user: badsector)
01:49:41 [4c77f89de8] Changes to wiki page [Little Forms] (user: badsector)
01:48:16 [05b895e160] Changes to wiki page [Screenshots] (user: badsector)
01:45:28 [09adab83d4] Add attachment [/artifact/2dd98bc4c4db0a65|lfcustomcontrol.png] to wiki page [Screenshots] (user: badsector)
01:44:51 [a6c26a9efc] Added a new example for creating a custom control with enough comments in it to also act as a tutorial. (user: badsector tags: trunk)
01:44:25 [a2cbc1617a] Fixed tiny unnecessary overdraw in slider. (user: badsector tags: trunk)
01:43:58 [728bd5381a] Replaced use of the 'property' term with the 'attribute' term in a couple of places since this is what the rest of the codebase is using. (user: badsector tags: trunk)
=== 2018-01-13 ===
03:57:48 [1c102da0dd] Added a few options in configure.py to allow dead code elimination from static builds. (user: badsector tags: trunk)
02:13:22 [11cad7874c] Fixed FF_AUTOHIDE and FF_TOPMOST define values to be above FF_PAINT_ON_THAW, made ff_menu() *actually* use FF_TOPMOST, added FF_WSFLAG_TOPLEVEL in the X11 backend for windows that either have no parent or are popups, made toplevel window checking for X11 backend to only perform the PAH_JUSTFOCUS for toplevel windows and replaced intptr_t with ff_intptr_t in previous commit that would cause some build configurations to fail. (user: badsector tags: trunk)
01:31:17 [d1cc8f9178] Added FF_AUTOHIDE and FF_TOPMOST flags that make toplevel windows hide automatically and cause them to be above other toplevel windows respectively (X11 backend only for now), made ff_menu() use those flags, added ff_flags() that can be used to obtain the flags for a window, added ff_ws_enumreg() that can be used to enumerate registered native windows, made ff_window() mask out FF_NORESIZE, FF_NOFRAME, FF_CENTERED, FF_AUTOHIDE and FF_TOPMOST flags from non-popup child windows and fixed bug in X11 focus update that caused repeated focus checks. (user: badsector tags: trunk)
=== 2018-01-09 ===
23:07:07 [23adcf2eeb] Changes to wiki page [Little Forms] (user: badsector)
23:06:34 [ddee7a8e4d] Changes to wiki page [Examples] (user: badsector)
23:05:35 [312680837e] Added frame icon support with ff_reicon/ff_ws_set_icon (only X11 backend for now), added parent and frame icon parameter to ff_frame, added ff_mainframe which now sets the exit-on-close attribute instead of ff_window, added ff_argc and ff_argv that gives back the argc/argv passed in ff_init (on unix it uses realpath for argv[0]), WM_COMMAND is now set to argv[0], parentless windows now become window group leaders (popup windows use their parent as leader) and removed unnecessary const from argv. Most of that stuff makes sure that programs have a proper icon and recognized as "applications" in Window Maker. (user: badsector tags: trunk)
19:16:38 [9ab79454a5] Implemented font enumeration for the X11 core font code, improved overall font handling, made X11 core font code to convert text from utf8 to 8bit (replaces characters outside 7bit ASCII with question marks), fixed painting on thaw (used to call ff_paint before removing the FF_PAINT_ON_THAW call that made it ignore the request), added ff_qsort_int for sorting ints with qsort and added ff_unrepeat with a qsort-like interface to remove repeating elements from an array. (user: badsector tags: trunk)
=== 2018-01-08 ===
14:20:36 [51f30d9945] Added ff_getu, ff_getu_def and ff_getu_or_fail to complement ff_setu. (user: badsector tags: trunk)
14:10:22 [27d33af13f] Made OpenGL loading at runtime (programs do not depend on libGL anymore, libGL is loaded on demand), implemented FF_HOVER and added FF_LEAVE (X11 backend only for now), addef ff_setu for unsigned numbers, added a null check in ff_color_get, added mouse wheel support in slider, added change property in slider for the wheel delta (default value is range/25) and removed some old commented out code from graphics. (user: badsector tags: trunk)
=== 2017-12-05 ===
16:46:21 [fe0b42f002] Add --as-needed for library config (user: badsector tags: trunk)
16:21:08 [c01087d4e1] Separate library and lforms-config flags and only expose the necessary flags through lforms-config --cflags and --libs to build Little Forms (including the optional LFORMS_xxx macros) and use --ws-cflags and --ws-libs instead for the full flags. (user: badsector tags: trunk)
=== 2017-12-03 ===
06:49:54 [29683e665f] Added more warning flags and cleaned up the code a bit. (user: badsector tags: trunk)
=== 2017-12-02 ===
16:16:40 [e073a72bcc] Cleaned up the use of signed vs unsigned integers in the code and added appropriate typecasts where needed. Many of the window and graphics functions had their arguments replaced from unsigned to just int where coordinates and sizes were concerned to make things simpler when calculating positions. This made it possible to remove several typecasts to int as well as combine some variable declarations. The cleanup should also fix some edge cases. (user: badsector tags: trunk)
08:43:26 [b885313764] Added missing obj.c/obj.h files (user: badsector tags: trunk)
07:48:56 [0b884492ea] Remove reliance on stdint.h to make the code more C89 compliant. Also remove the ff_toint, ff_fromint, ff_tofloat, ff_fromfloat, etc functions using explicit casts instead. Adds ff_intptr_t and ff_uintptr_t. (user: badsector tags: trunk)
=== 2017-12-01 ===
00:58:53 [32583366ce] Changes to wiki page [Examples] (user: badsector)
00:57:37 [67494de604] Edit [35c79f7e92db3922|35c79f7e92]: Edit check-in comment. (user: badsector)
00:55:54 [35c79f7e92] Added generic API for creating objects that receive events and have properties set on them and removed the window-specific functionality from functions like ff_set, ff_link, etc while updating the rest of the API to use this object code. Objects can be created with void* ff_new(size_t n) (n can be 0, it just makes a dummy object) and destroyed via ff_destroy(void* p). Most window code that had to do with attributes and events changed from the window-specific ff_window_t type to a generic void* pointer that can be used with anything. Also made the X11 backend ignore X11 errors from XGetInputFocus to work around a case where Xlib is trying to reply with an invalid window. (user: badsector tags: trunk)
=== 2017-11-14 ===
01:52:13 [74db6fca1a] Changes to wiki page [Little Forms] (user: badsector)
00:28:37 [aae6a17aca] Changes to wiki page [Little Forms] (user: badsector)
=== 2017-11-12 ===
15:24:31 [793d1ea429] Added ff_ws_x11_display() function that can be used to obtain the DISPLAY for the X11 backend. The Win32 backend simply returns NULL. (user: badsector tags: trunk)
=== 2017-11-02 ===
08:33:37 [b1584d3585] Implemented ff_ws_shown in the X11 backend (user: badsector tags: trunk)
=== 2017-10-31 ===
18:09:12 [e9f756fc52] Added FF_CENTERED window flag that causes a window to be centered on screen when shown for the first time (this is mainly a hint for the backend), made pixel data in ff_bitmap and ff_bitmap_pixels to be const, made layout managers to take into account invisible windows, added flags parameter in layout helper ff_lh_prefsize with FF_LHINVISIBLE used to take into account invisible windows, added ff_shown (and the equivalent ff_ws_shown) function which returns FF_YES/FF_NO if a window has the visibility flag set (regardless of parent windows), fixed ff_image's centering code when the bitmap is larger than the image's area and made ff_lh_place to ignore the request for zero width and/or height (mainly because this is what ff_lh_prefsize will return for invisible windows). Note that changes to X11 backend haven't been tested yet. (user: badsector tags: trunk)
=== 2017-10-29 ===
06:00:27 [7c1675e466] Dever almost all events in Win32 backend until ff_ws_pump_events is called to process them. This makes the Win32 backend behave closer to the X11 backend and allows windows to setup their event handlers before actual events start coming in. The only events that are currently processed directly are WM_PAINT/WM_NCPAINT (to provide immediate feedback), WM_DESTROY (to remove invalid windows) and WM_TIMER (to avoid any delays from deferred processing - although this makes timers behave differently from the X11 backend which only processes them during event pumping). (user: badsector tags: trunk)
01:58:07 [76fdb1499e] Fix missing return value. (user: badsector tags: trunk)
01:36:57 [88b58f88c7] Fix win32 backend's ff_ws_exit so that it always exits the application. Also do not send FF_CLOSE when the window is destroyed (that was the old behavior until FF_DESTROY was introduced, which is sent by the common code) and make sure that even if an invalid window was kept around, the information about it is freed. (user: badsector tags: trunk)
=== 2017-10-17 ===
11:34:01 [b1d2c0c6d5] Make sure character deletion is always done at the beginning of a UTF-8 sequence and all bytes in the sequence are removed. Also ignore the delete character when it comes as text. (user: badsector tags: trunk)
11:07:16 [bb1c619933] Fix the editor entering garbage when UTF-8 text is typed. While this doesn't fully and properly make the editor handle UTF-8 like the best in class, at least it is now usable. (user: badsector tags: trunk)
11:05:35 [a5d2cfd7fb] Make sure the FF_TEXT text is properly null terminated when UTF-8 text comes in from X11 (user: badsector tags: trunk)
10:39:18 [e625cb5399] Added ff_in8seq which returns true if the given character is part of a UTF-8 sequence (user: badsector tags: trunk)
=== 2017-09-07 ===
11:43:48 [519c8a672d] Add a --no-examples option in configure.py to skip building the examples and demo. (user: badsector tags: trunk)
11:12:29 [98e95ff9ac] Focus the editor when launching. (user: badsector tags: trunk)
=== 2017-09-04 ===
17:18:49 [acc619f327] Cleanup code by replacing unsigned int with just unsigned (less to type, more code per line and above all, lately i prefer it that way) (user: badsector tags: trunk)
10:55:31 [8e334a8a97] Added a simple text editor example. (user: badsector tags: trunk)
10:51:06 [54fe133755] Change the default border align order from top,bottom,left,right,center to center,top,bottom,left,right since the center part will be the most common by far (user: badsector tags: trunk)
08:41:44 [58ce09c038] Added INSTALL file with build and installation instructions (user: badsector tags: trunk)
07:49:15 [fc31bb847d] Remove reference to cocoa from configure.py (user: badsector tags: trunk)
07:09:11 [598b72b8e4] Reformat LICENSE and README. (user: badsector tags: trunk)
07:03:30 [9947ae8b85] Normalize line endings to unix style. (user: badsector tags: trunk)
06:58:36 [fae98a6a9e] Rename text files at top to the more standard LICENSE and README. (user: badsector tags: trunk)
06:48:30 [9050c9afbc] Remove obnoxious and always out of date copyright header from sources, the necessary information is already in the license file at the directory top. (user: badsector tags: trunk)
=== 2017-08-27 ===
03:54:31 [e58e9bdbb5] Changes to wiki page [Features] (user: badsector)
=== 2017-06-02 ===
09:01:56 [01ecd1ba61] Updated the OpenWatcom project files to add utf.c/h and added the fonts example in the examples project (user: badsector tags: trunk)
09:00:47 [905196c398] Added ff_isascii, ff_asciify and ff_deasciify to check if a string contains only ASCII (1..127) characters, convert from UTF8 to ASCII and from ASCII to UTF8 (checking for >127 characters and replacing them with 8). This is used now in the Win32 backend when building ANSI to ensure that the program can still use UTF8 strings everywhere (maybe in the future an ifdef can be used for allowing full ANSI strings... and also for converting between the local codepage and UTF8 where supported). (user: badsector tags: trunk)
07:24:33 [74d7f5d21d] Added UTF8/UTF16 encode/decode and conversion functions, implemented unicode support for the Win32 backend (relies on the UNICODE macro) and added a --win32-ansi configuration option to build the library with ANSI calls instead of Unicode. (user: badsector tags: trunk)
00:15:42 [d62f223609] Added some simple font enumeration in the Win32 backend. It isn't exactly accurate, especially for bitmap fonts, but works for now. (user: badsector tags: trunk)
00:13:57 [abbf2afe3a] Changes to wiki page [Screenshots] (user: badsector)
00:11:16 [471f6a13e5] Add attachment [/artifact/f15d9954d3bcb75b|lffontw32.png] to wiki page [Screenshots] (user: badsector)
=== 2017-06-01 ===
23:28:34 [eacf3c4d87] Fix compilation under Windows (user: badsector tags: trunk)
21:13:39 [e630496c63] Changes to wiki page [Little Forms] (user: badsector)
21:13:15 [664afe24c8] Changes to wiki page [Little Forms] (user: badsector)
08:13:13 [8f6bed4174] Changes to wiki page [Applications Using Little Forms] (user: badsector)
08:10:38 [6dd28c7f9b] Changes to wiki page [To Do] (user: badsector)
08:09:42 [9a5a092468] Changes to wiki page [Features] (user: badsector)
07:54:56 [42388fadfa] Changes to wiki page [Little Forms] (user: badsector)
07:53:56 [4d5936b5bc] Changes to wiki page [Little Forms] (user: badsector)
07:39:50 [cebfcdc851] Changes to wiki page [Applications Using Little Forms] (user: badsector)
07:35:01 [55e6089287] Changes to wiki page [Little Forms] (user: badsector)
01:24:33 [1916b7b1be] Changes to wiki page [API Stability] (user: badsector)
00:55:36 [b101d555b2] Changes to wiki page [Little Forms] (user: badsector)
00:50:58 [3dcbb9c26c] Changes to wiki page [Examples] (user: badsector)
00:41:47 [7d9fc559d8] Updated readme (user: badsector tags: trunk)
00:36:06 [4ea689d67a] Updated license date and email (user: badsector tags: trunk)
00:18:59 [5eeacb1e17] Changes to wiki page [Download] (user: badsector)
00:17:13 [3f8044eec5] Changes to wiki page [Download] (user: badsector)
00:12:58 [0a8763e809] Changes to wiki page [Download] (user: badsector)
00:11:02 [e99eb8cf57] Changes to wiki page [To Do] (user: badsector)
00:10:10 [ac650c3c3c] Changes to wiki page [Screenshots] (user: badsector)
00:05:39 [21881380e6] Add attachment [/artifact/cd736ba37eebb7c6|lffont.png] to wiki page [Screenshots] (user: badsector)
00:02:45 [fcb20b126b] Changes to wiki page [Screenshots] (user: badsector)
00:01:01 [0b3752b2eb] Add attachment [/artifact/24bd404ef5479b96|lfhello.png] to wiki page [Screenshots] (user: badsector)
00:00:45 [bb4787d394] Changes to wiki page [Screenshots] (user: badsector)
=== 2017-05-31 ===
23:56:35 [01f44c00e5] Add attachment [/artifact/5edc46517cf1bc8a|lfclock.png] to wiki page [Screenshots] (user: badsector)
23:53:14 [22f4d35e95] Merged from VCS change: added vertical sliders, added same-width, same-height and same-size value for stack-autosize property for stack layouts, added stack-noscale property for stack layout children, added ff_has_events function that can be used to check if there are any events or idle/timed actions pending, added FF_APPBLUR and FF_APPFOCUS messages when the application loses or gains focus (in X11 this is handled based on if any registered window has focus), improved menu code and made menus appear/disappear when the application gets/loses focus (application focus=any app window has focus), added some initial support for UTF8 under X11 (for Xft only at the moment) with XIM for input, added FF_TEXTINPUT window flag for controls that need to handle text input (so that XIM/IME/etc can be notified), changed FF_CHAR event to FF_TEXT to handle UTF8 key events, added ff_find that can be used to search for a window (either children or global) using a simple comparison (FF_IS, FF_ISNOT, FF_ISINT, FF_ISNOTINT, FF_ISSTR, FF_ISNOTSTR, FF_ISABOVE, FF_ISBELOW, FF_ISEQUALORABOVE and FF_ISEQUALORBELOW), changed ff_box function to take a style (NULL defaults to etched), added the ability to specify default controls for forms and made button accept this, (updated hello example to use this), background color now isn't inherited and by default isn't stored anymore but instead ff_color_attr takes a default color for when the color is missing, added new color attribute for some controls (label), added support for fonts (both X11 and Win32) and a common font attribute, added ff_geti_def, ff_get_or_fail and ff_geti_or_fail that report failure when attributes are not found instead of returning NULL or 0, moved graphics defines to defines.h, demo uses new stuff, fixed size calculation bug in border layout, fixed overflow error in box and button caption, fixed bug in ff_button that ignored the action_data parameter, added ff_font_text_size helper, make it possible to build Little Forms without OpenGL support (and made OpenGL support disable-able in case it isn't supported even if it is compiled in, at least for X11 for now), made Win32 backend block window destruction if FF_CLOSE returns FF_YES (meaning that it was handled), added WM_DESTROY event that notifies the common window code (which sends FF_DESTROY and cleans up), made ff_destroy and ff_ws_destroy_window to simply request the window to be destroyed instead of also unregister and release the library-side object, added global links that can handle bubbling events that nothing handled, replaced int with intptr in fromint/toint, made ff_ws_common_shutdown to drain the event queue and then keep pumping events while the toplevel windows are destroyed so that events fired from destruction will still be handled, fixed regent_t list use, made X11 backend to invalidate windows it requested for destruction so that further events and calls about them will be ignored, added a custom X11 error handler that dumps info about the error in stdout (depends on debug build) and optionally traps them (depends on build config) using __builtin_trap() so that they can be debugged with tracerror in GDB (using synchronized X11 calls), added a few extra utility functions (ff_streq_nocase, ff_round_int, ff_qsort_strcmp), improved configure.py to config with the new functionality. (user: badsector tags: trunk)
=== 2016-01-02 ===
11:13:03 [92a674d454] Small layout fixes (user: badsector tags: trunk)
=== 2015-11-08 ===
19:31:26 [7f9933aeec] Do not send key release events for repeated key events (release is sent only after the final release). X11 backend change, Win32 should already behave like this. (user: badsector tags: trunk)
=== 2015-11-07 ===
14:15:49 [8bbb37f2db] Another update for the OpenWatcom project files (user: badsector tags: trunk)
14:13:36 [926676ac54] Forgot to save the examples files before commiting previously (user: badsector tags: trunk)
14:11:08 [843e8a07b4] Changes to wiki page [Screenshots] (user: badsector)
14:08:28 [c4a5e90887] Add attachment [/artifact/6966ae07d59dc7ac|w10tabstrip.png] to wiki page [Screenshots] (user: badsector)
14:07:43 [bc44060b9f] Changes to wiki page [To Do] (user: badsector)
14:06:48 [e16de48f90] Add OpenWatcom project files for the examples. The examples.wpj project will build all (current) examples. (user: badsector tags: trunk)
14:06:03 [76b8da6842] Update OpenWatcom project files (user: badsector tags: trunk)
14:05:16 [104d872afb] Add support in the Win32 backend for the mouse wheel (reported as buttons 4 and 5, like X11), window timers and ff_ticks (user: badsector tags: trunk)
14:04:27 [94e6b634f8] FF_POPUP windows fixes for the Win32 backend: do not ignore the position and use SW_SHOWNA instead of SW_SHOW when calling ff_ws_show with FF_YES parameter to be consistent with the default behavior when the window is shown without the FF_INVISIBLE flag. Also fix a crash in ff_ws_area when the user passes only one of the width or height pointers instead of both. (user: badsector tags: trunk)
14:02:21 [a8e1d8a874] Fix off-by-one discrepancy between Win32 and X11 backends for ff_fill (user: badsector tags: trunk)
14:00:32 [f18130c4a3] Make sure there is no selection in ff_choice before it is set up to avoid crashes in case the choice is drawn before the items are set (fixes crash under Windows) (user: badsector tags: trunk)
13:59:25 [09469693a8] Made the clock automatically size its window using packing and a more generous border (user: badsector tags: trunk)
=== 2015-11-04 ===
15:41:15 [fbfca948b7] Changes to wiki page [Screenshots] (user: badsector)
15:27:41 [818376b011] Add attachment [/artifact/f518f77e0fe50103|lftabstrip.png] to wiki page [Screenshots] (user: badsector)
15:26:12 [551bf96aac] Add attachment [/artifact/458d95f917990858|lfscroll.png] to wiki page [Screenshots] (user: badsector)
15:24:42 [9edacc6ef0] Add attachment [/artifact/8ee769767a729e9c|lflist.png] to wiki page [Screenshots] (user: badsector)
15:23:04 [d84c9b36a4] Add attachment [/artifact/f7bfadd654895350|lfchoice.png] to wiki page [Screenshots] (user: badsector)
15:20:26 [3393422a05] Add attachment [/artifact/c657931a6a02aa4f|lfchoice.png] to wiki page [Screenshots] (user: badsector)
15:18:21 [77cef1cdf1] Added ff_tabstrip widget which can be used to show a series of tabs for the user to select from. The tabstrip widget does not provide any widget controlling functionality itself since it can be used for other reasons than just grouping wwidgets (e.g. a tabbed text editor). A future widget will provide this and work with tabstrip. (user: badsector tags: trunk)
=== 2015-11-01 ===
10:02:00 [e967e4462c] Remove ff_focus call from ff_choice widget, the choice boxes do not need keyboard focus (user: badsector tags: trunk)
10:00:23 [240020a76a] Modified focus processing in the X11 backend to be done manually after a FocusIn/FocusOut event arrives. X11 has a very complicated focus notification system which does not map to the way Little Forms expects focus notification to work. (user: badsector tags: trunk)
09:04:16 [46b46845d1] Added ff_unlink and ff_toplevel and made editor to not block focus events (user: badsector tags: trunk)
08:27:16 [a894505f5e] Added missing return value in ff_ws_timer in X11 backend (user: badsector tags: trunk)
07:38:04 [0ab4beb6ef] 1. Added choice (ff_choice, etc) widget which can be used to show a popup menu with several items to choose from (aka combo box, selector, popup menu in mac, etc). 2. Added ff_color_get which can be used to retrieve the ff_color_t attribute that ff_color_attr would set from a property of the given window or one of its ancestorrs 3. Added text property in ff_list to match the text property in choice. Text is a special property that can be used to retrieve the text of the current selection (when reading) and set the selection to the item that matches the text (when setting). 4. Setting the selection on a list now automatically reveals it. Also revealing and item will now work even if the list wasn't drawn before by drawing it in a temporary invisible bitmap. 5. Removed the duplicate implementation of ff_color_attr from X11 and Win32 backends and placed it in a new platform-agnostic file (graphics.c) 6. Fixed a few warnings when compiling (user: badsector tags: trunk)
06:26:34 [4a775cbf97] Added -g3 in examples Makefile for better debuggability (user: badsector tags: trunk)
06:24:38 [7dbc1cce76] Add FF_NOFRAME support in the X11 backend (user: badsector tags: trunk)
06:23:13 [e434f9d4e6] Fixed memory leak in ff_glyph (the temp rgb buffer wasn't freed) (user: badsector tags: trunk)
=== 2015-10-30 ===
12:55:48 [e1364c6005] Modified the ff_list constructor function to take initial items and data so that is more consistent with the other constructor functions that take the initial widget data/contents. (user: badsector tags: trunk)
10:27:18 [78f2da5207] Changes to wiki page [Little Forms] (user: badsector)
=== 2015-10-29 ===
10:30:59 [ef65ded27b] Fixed timer use in list, removed unnecessary data parameter from ff_list_data and added support for X11 window classes so that window managers can distinguish between applications (user: badsector tags: trunk)
=== 2015-10-28 ===
13:14:03 [76572e4427] Fix a couple of crashing bugs in lifetime and list (user: badsector tags: trunk)
13:02:05 [5c39c2c94e] 1. Added ff_freeze which suspends window painting until a call to ff_thaw. ff_frozen can be used to check if a window is frozen and FF_FREEZE and FF_THAW events will also be sent. 2. Added list boxes (ff_list widget). 3. Added ff_sbinfo_update for updating the scrollbar after a change in the ff_sbinfo_t structure (user: badsector tags: trunk)
=== 2015-10-24 ===
03:17:34 [140964cc3d] Changes to wiki page [To Do] (user: badsector)
03:16:25 [03f09ab91f] 1. Added dedicated opengl header 2. Made examples to rebuild themselves if the liblforms.a library changes 3. Added FF_IGNORE, FF_VERTICAL, FF_HORIZONTAL, FF_BOTH and FF_AUTO generic defines 4. Added window timers and FF_TIMER event (note X11 only for now) 5. Added scrollbar helper, embeded scrollbar (sbinfo) and scrollbar widget 6. Added standard header files stdlib.h, string.h and stdio.h as part of lforms.h 7. Added ff_pump_events for processing gui events 8. Added ff_atexit and ff_later for running a function at the exit of the program and after events have been processed, respectively 9. Added ff_forward which can be used to forward an event to another window 10. Added ff_redirect which can be used in ff_link to redirect an event to another window 11. Added ff_post which can be used to send an event at a later stage when all current events have been processed 12. Made buttons, checkboxes, editors, fields and menus to use ff_post instead of ff_send for FF_ACTION, FF_CHANGE and FF_CARET events to avoid structural changes (creating and deleting windows) to potentially crash the program 13. Fixed a few off-by-one pixel style issues 14. Fixed vertical center alignment in border 15. Added ff_free function which can be used instead of free to release library buffers 16. Optimized expose requests 17. Added border-arrangement property in border layout which can be set to horizontal-in or horizontal-out with the former making the left and right widgets be capped with the top and bottom widgets and the latter making them cover the entire height of the window 18. Fixed a few memory leaks 19. Added lfmkglyph tool to generate glyphs from image files 20. Added clock example which shows the timer functionality 21. Added scrollbar example which shows the scrollbar widgets (user: badsector tags: trunk)
=== 2014-11-22 ===
13:37:17 [9915710ad9] Added ff_glyph for making simple images from embedded string glyphs (user: badsector tags: trunk)
13:33:42 [00824e8b40] Color refinement (user: badsector tags: trunk)
=== 2014-09-26 ===
22:56:12 [0191da3a1c] Fix off by one for ff_fill in x11 backend so that the x2 and y2 are included in the pixels that will be drawn (user: badsector tags: trunk)
19:16:42 [6fd34da0ab] Changed button vertical padding to match the field and the size of Window Maker and NextStep buttons (user: badsector tags: trunk)
=== 2014-09-22 ===
00:28:34 [c93fb87f76] Made the draw example to use double buffering (user: badsector tags: trunk)
=== 2014-09-21 ===
19:58:02 [8df857ae7c] Edit [9cac5beccb1cbb8b|9cac5beccb]: Edit check-in comment. (user: badsector)
19:54:09 [9cac5beccb] Fixed ff_disc in x11 backend to fully cover the passed bounds. Also added forgotten cement mixer icon (user: badsector tags: trunk)
19:41:53 [5f911deba5] Fix Win32 backend oval and disc off-by-one dimensions (user: badsector tags: trunk)
19:36:03 [c7b82a77a6] Added draw example (user: badsector tags: trunk)
19:22:56 [5e31cf89de] Fix off-by-one coordinates in ff_oval so that the circle's extremes touch the passeed area exactly instead of going a single pixel outside (user: badsector tags: trunk)
19:02:26 [2ef9343063] Made ff_prefsize to issue a relayout of the window's parent when the preferred size of a window changes (user: badsector tags: trunk)
18:50:14 [7a6c0d3bb8] Make sure 'make clean' cleans executables under Windows (user: badsector tags: trunk)
18:47:53 [71e7a02f7b] Made tool building optional (via ./configure --no-tools) to avoid requirement of DevIL (user: badsector tags: trunk)
18:32:31 [25eba7bdf8] Added icons in inc format so that DevIL isn't necessary to build Little Forms (user: badsector tags: trunk)
=== 2014-09-20 ===
22:18:39 [064005922f] Added icons bag, circuit, clock and notes and updated demo to use those (user: badsector tags: trunk)
22:18:16 [780007bf7b] Fix button check for group property (user: badsector tags: trunk)
20:09:28 [3a0ded452e] Make sure select button groups have at least a single button selected (user: badsector tags: trunk)
17:13:37 [817d70b2c1] Added tool to convert image files to RGB arrays as used by Little Forms (lfmkimg), an icon for testing purposes, an image example that uses the icon and updated the demo to also use the icon instead of the generated circle. The conversion tool requires DevIL. (user: badsector tags: trunk)
14:50:03 [78c3dbf9e4] Added class property for windows and implemented toggle and select types for buttons. (user: badsector tags: trunk)
11:32:25 [92d7fa7587] Added Makefile for examples that uses lforms-config and made it part of the standard build (so building lforms also builds its examples). Also added simplest.c as an example of the simplest app in Little Forms. (user: badsector tags: trunk)
11:18:57 [2d1219937f] Fix generated Makefile (user: badsector tags: trunk)
10:58:14 [9ecebd1989] Added lforms-config in the distclean target of the generated Makefile (user: badsector tags: trunk)
10:56:44 [ce70b12549] configure.py now generates a lforms-config script that prints system and configuration specific cflags (via --cflags) and ldflags (via --libs). This removed the need for the demo/configure.py which is now replaced by a simple Makefile that calls configure.py. Also lforms-config can accept a --makefile parameter, which echoes the contents for a a simple Makefile and a --lformsconfig parameter which can be used to override the default call to lforms-config. (user: badsector tags: trunk)
=== 2014-06-04 ===
01:48:31 [6f2c9dbedd] X11 uses pixel size instead of abstract point size when Xft is enabled (it is consistent with Xft disabled and with Window Maker's behavior) (user: badsector tags: trunk)
=== 2014-04-21 ===
15:43:02 [e973dd2b45] Added support for transparent bitmaps in Win32 backend and fixed Win32 event pumping to block when there is no event in the queue (user: badsector tags: trunk)
14:47:17 [bc750a5666] Fixed OpenWatcom compilation (user: badsector tags: trunk)
=== 2013-10-30 ===
08:56:02 [1e95594811] * exit-on-close is now only set to 1 automatically for the first toplevel window instead of all toplevel windows * bitmaps are now reference counted resources (they can be shared between controls that use them) - by default they start with 0 refs * buttons can have an optional bitmap above the text. The text also became optional for image-only buttons * buttons and images automatically increase/decrease the refcount (the parameter autofree was removed from ff_image) * renamed ff_textsize to ff_text_size for consistency * font resources are now properly released in X11 * bitmaps can use the color #FF00FF (RGB:255,0,255) as transparent key (currently this is implemented only in X11) * added align-horizontal and align-vertical in layouthelper for all controls so that they can be aligned inside their allocated space using their preferred size instead of the allocated size. The values are left, center and right for align-horizontal and top, center and bottom for align-vertical * windows are explicitly destroyed when the library shuts down instead of relying on the native window system to send destroy events (user: badsector tags: trunk)
08:43:21 [0bd129b481] Added refcounted objects (user: badsector tags: trunk)
=== 2013-10-24 ===
17:08:48 [3437cc4425] Try to use Trebuchet MS in X11, if available, since it seems to be very close to the ideal style and size (user: badsector tags: trunk)
=== 2013-01-27 ===
00:07:18 [c35de5120e] Fixed resize request on toplevel windows that had the FF_NORESIZE flag set being ignored by X11 window manager because of the MinSize/MaxSize settings. The fix simply sets new settings before doing the request. This might not be the best way but avoids the issue using the same method that introduced it so at best it'll be ignored by the window manager and at worst it'll seemingly behave properly. (user: badsector tags: trunk)
=== 2012-07-02 ===
10:39:11 [2e9458b0d9] OpenWatcom project update (user: badsector tags: trunk)
10:34:54 [2cabd42130] Changes to wiki page [To Do] (user: badsector)
10:29:42 [90cd35fcf9] Changes to wiki page [To Do] (user: badsector)
10:29:28 [bc5c87f371] Added ff_image widget (user: badsector tags: trunk)
01:22:32 [183eaaefb6] Popup menus are now not resizeable. Also the Win32 backend uses WS_EX_TOOLWINDOW for FF_POPUP windows with a caption (user: badsector tags: trunk)
01:09:37 [3f78950ebe] FF_POPUP windows do not have a parent now in X11 backend (user: badsector tags: trunk)
01:01:33 [d98784cb8f] Added menus (user: badsector tags: trunk)
=== 2012-07-01 ===
22:41:40 [20687c1993] Reversed RGB component order in ff_bitmap_pixels for X11 to be the right one (user: badsector tags: trunk)
21:12:26 [4f6aaf66bd] Fixed demo to compile under OpenWatcom and updated OpenWatcom projects to include glbox (user: badsector tags: trunk)
21:05:46 [dd1ef7d121] Changes to wiki page [To Do] (user: badsector)
20:41:56 [6338d413d9] Removed deferred relayouts since they had event order problems, fixed win32 sizing, added OpenGL and bitmap support under win32 (user: badsector tags: trunk)
06:46:22 [6d2c67484f] Fixed Mac OS X X11 support (user: badsector tags: trunk)
05:35:01 [6ddc6859bb] Added box frame styles in ff_box (user: badsector tags: trunk)
04:26:54 [f91c1b8cb3] Added ff_glbox widget (user: badsector tags: trunk)
03:23:49 [8188b7c045] Bitmaps now work properly under X11 (user: badsector tags: trunk)
01:11:29 [5b1c376af0] Changes to wiki page [Screenshots] (user: badsector)
00:14:40 [88d60c4cc9] Changes to wiki page [Screenshots] (user: badsector)
00:11:13 [8b9dd7a382] Add attachment [/artifact/83148d2917e601b5|lfglx11.png] to wiki page [Screenshots] (user: badsector)
00:08:45 [998b993f31] Implemented OpenGL support for the X11 backend (user: badsector tags: trunk)
00:08:17 [fc1c9388f9] Made the initial window size specified in ff_window as the default preferred size for the window (user: badsector tags: trunk)
00:07:47 [0c877f6b36] Added area event handler for slider to update its track position on screen (user: badsector tags: trunk)
=== 2012-06-30 ===
23:09:23 [ce81f0d94b] Modified ff_relayout so that adds only the target window to the relayout list (user: badsector tags: trunk)
22:54:55 [ca4487884f] *MERGE* Fixed layout issues (hopefully), added bitmaps (only partial X11 implementation at the moment), changed prefsize calculation to be made only when needed using bitmaps instead of at the paint event, merged with windows version, bunch of other things. (user: badsector tags: trunk)
07:51:37 [bc61f958ec] Added initial code for OpenGL support, fixed some layout issues, fixed some graphics issues and introduced a nice weird memory corruption bug that i'll need to consult valgrind about... (user: badsector tags: trunk)
06:14:48 [b5140bfde1] Improved layout code and editor performance (user: badsector tags: trunk)
03:45:15 [51d80a5729] Fixed stack sizing that created invalid coordinates under windows due to integer sign issues (user: badsector tags: trunk)
=== 2012-06-28 ===
19:02:35 [e58e4a315d] Replaced deprecated XKeycodeToKeysym with XkbKeycodeToKeysym (user: badsector tags: trunk)
=== 2012-06-27 ===
19:28:00 [c3a0d0d350] *FORK* Added optional Xft rendering support in the X11 backend enabled by --use-xft in configure script (enabled by default unless running under Mac OS X). Also Expose events are deferred until the event queue is empty. When an Expose event is added to the internal list, it is checked against the other items to see if there is another Expose event for the same window so only one Expose event will be at the list at any time. This cuts down the redrawing significantly and makes the program more responsive. (user: badsector tags: trunk)
03:09:27 [6c12f74781] Changes to wiki page [Little Forms] (user: badsector)
03:08:52 [b835d74774] Changes to wiki page [Screenshots] (user: badsector)
02:45:30 [b7a8908031] Add attachment [/artifact/a707cd4701824230|lfx11.png] to wiki page [Screenshots] (user: badsector)
=== 2012-06-26 ===
19:51:45 [7d0d629ae6] Changes to wiki page [Download] (user: badsector)
19:49:53 [0e04492fc0] Changes to wiki page [Little Forms] (user: badsector)
16:08:04 [026b3fc1e6] Changes to wiki page [To Do] (user: badsector)
16:07:10 [f0566d7a15] Changes to wiki page [To Do] (user: badsector)
07:10:51 [3f24791534] Changes to wiki page [To Do] (user: badsector)
06:26:26 [1aa34f0ecb] Changes to wiki page [To Do] (user: badsector)
06:25:39 [e3c0ecae59] Removed todo.txt (the To Do list is now maintained in the fossil wiki) (user: badsector tags: trunk)
06:24:59 [072082c593] Changes to wiki page [To Do] (user: badsector)
06:21:38 [bb5a17e629] Changes to wiki page [Little Forms] (user: badsector)
06:18:30 [9685d69e01] Added doublebuffering support to the X11 backend (user: badsector tags: trunk)
05:23:50 [10f55d58d3] Changes to wiki page [Screenshots] (user: badsector)
05:22:25 [f0d854b5b1] Changes to wiki page [Screenshots] (user: badsector)
05:22:13 [c7984ed8b6] Changes to wiki page [Screenshots] (user: badsector)
05:13:01 [ece24589bd] Add attachment [/artifact/04027d1533a47e17|lfmacx11.png] to wiki page [Screenshots] (user: badsector)
03:41:22 [09fb1eeb91] Changes to wiki page [Examples] (user: badsector)
03:41:16 [8582efd968] Added spacing between widgets in hello example (user: badsector tags: trunk)
03:40:00 [45182166a5] Add attachment [/artifact/88466e75f5845c98|lfhello.png] to wiki page [Examples] (user: badsector)
03:38:47 [6db84ab978] Delete attachment "lfhello.png" from wiki page [Examples] (user: badsector)
03:35:04 [a312502d08] Changes to wiki page [Examples] (user: badsector)
03:34:27 [eff93ff6b9] Added examples directory with a hello.c example (user: badsector tags: trunk)
03:33:56 [cb4fa0fdf8] Add attachment [/artifact/df583a6de9ff6e9d|lfhello.png] to wiki page [Examples] (user: badsector)
03:33:33 [7fff53b8f7] Changes to wiki page [Examples] (user: badsector)
03:32:58 [bf51426f52] Changes to wiki page [Little Forms] (user: badsector)
03:29:22 [561e369bc4] Made ff_relayout to be deferred until the main loop takes control and made ff_prefsize to always call ff_relayout when the *current* (and not the preferred) size is different than the given one (user: badsector tags: trunk)
03:27:57 [559f277f89] Added missing include path (user: badsector tags: trunk)
02:28:46 [b38ca202bf] Fixed the OpenWatcom lforms.lib target (for real this time... i hope) (user: badsector tags: trunk)
02:28:27 [891eb9efbd] Added FF_MOTION event implementation for Win32 (user: badsector tags: trunk)
02:08:35 [6e620b46bd] Changes to wiki page [Little Forms] (user: badsector)
02:07:20 [7d48f51792] Changes to wiki page [Little Forms] (user: badsector)
02:06:53 [3f6366b48b] Changes to wiki page [Screenshots] (user: badsector)
02:05:58 [ac179d446e] Add attachment [/artifact/cdf228b71ee776ff|lfw8.png] to wiki page [Screenshots] (user: badsector)
02:05:37 [15b8d3f91f] Changes to wiki page [Screenshots] (user: badsector)
02:05:19 [62ce8b45ce] Changes to wiki page [Little Forms] (user: badsector)
01:52:56 [02443932ca] Fixed Win32 window size calculation and implemented Win32 double buffering (user: badsector tags: trunk)
00:50:22 [31e786a05a] Fixed editor text drawing and scrolling and added double buffering flag (not implemented yet) (user: badsector tags: trunk)
=== 2012-06-25 ===
23:47:51 [134c7dd9d7] Changes to wiki page [Little Forms] (user: badsector)
23:46:54 [b4157cb773] Fixed builds under MinGW (user: badsector tags: trunk)
23:37:10 [12328a9bba] Removed gitignore file, updated lforms OW project (user: badsector tags: trunk)
23:34:47 [b48606a0e5] Changes to wiki page [Little Forms] (user: badsector)
23:28:02 [0c478a1cd6] Added key events in the Win32 backend, made resize events non-bubbling, fixed OpenWatcom project (user: badsector@runtimelegend.com tags: trunk)
=== 2012-04-03 ===
17:26:57 [1727b9a1d5] Fixed Win32 backend and updated OpenWatcom project files (user: badsector@runtimelegend.com tags: trunk)
=== 2011-08-12 ===
17:17:30 [68f88fbf84] Updated gitignore to ignore .swp files (user: badsector@runtimelegend.com tags: trunk)
17:16:31 [13e721e44a] Added /usr/X11/lib in library path This commit modifies the demo/configure.py script to add the X11 libraries directory in the linker path (for Mac OS X compilation) (user: badsector@runtimelegend.com tags: trunk)
=== 2011-08-08 ===
22:09:54 [529fc8dbb6] Modified fonts again (user: badsector@runtimelegend.com tags: trunk)
20:57:17 [5bf8d878e2] The font is now shared between GCs Since the font is always the same, a great speed boost is provided by sharing the font between GCs. Currently the shared font is not released at shutdown time. (user: badsector@runtimelegend.com tags: trunk)
=== 2011-08-02 ===
04:36:55 [429627ef2d] Added -ansi -pedantic when making and made sure the code compiles Currently only X11 + Linux tested with these settings (user: badsector@runtimelegend.com tags: trunk)
=== 2011-08-01 ===
20:07:20 [207ecfefc2] Added OpenGL support in todo.txt (user: badsector@runtimelegend.com tags: trunk)
20:05:20 [755833a478] Added horizontal slider functionality and FF_MOTION event from x11 backend (user: badsector@runtimelegend.com tags: trunk)
=== 2011-07-28 ===
02:35:07 [d8973d2e52] Added initial slider code and color macros This commit adds initial code for the sliders and replaces direct use of FF_RGB macros with predefined macros such as FF_3DFACE_COLOR, FF_3DLIGHT_COLOR, etc (user: badsector@runtimeterror.com tags: trunk)
=== 2011-07-27 ===
13:34:50 [f6d9d2c10c] Fixed a line-ending bug in the editor This commit fixes a bug in the editor that caused the string terminators for each line to not be added, thus resulting in unterminated strings. (user: badsector@runtimeterror.com tags: trunk)
01:24:11 [bc3e1ed75c] Added editor text get/set and caret and change events (user: badsector@runtimeterror.com tags: trunk)
=== 2011-07-26 ===
22:59:13 [b336c298a5] Updated the demo size (user: badsector@runtimeterror.com tags: trunk)
22:53:21 [9f1f343326] Fixed window release/destroy events and event signalling This commit fixes the window release/destroy events (FF_DESTROY, etc) to avoid double frees, improves the event signalling (ff_send...) to add bubbling and updates widgets and the X11 backend to use these improvements. (user: badsector@runtimeterror.com tags: trunk)
19:33:01 [4f2b4e3811] Added separator widget This commit adds a "separator" widget (ff_separator) which simply draws a (bevel-ish 3D shaded) line. It can be either horizontal or vertical using the orientation property. (user: badsector@runtimeterror.com tags: trunk)
17:16:21 [cf219a3dda] Added monoline editor/field and focus/blur events Also updated the todo.txt file (user: badsector@runtimeterror.com tags: trunk)
16:09:08 [34df2aedb9] Added todo.txt and .gitignore (user: badsector@runtimeterror.com tags: trunk)
14:47:06 [0306464814] Added scrolling in the editor widget (user: badsector@runtimeterror.com tags: trunk)
=== 2011-07-25 ===
07:21:54 [b696b328c7] Added keyboard events (X11 for now), focusing and initial editor code This commit adds keyboard event support (currently only for the X11 backend), window focusing functions (ff_focus and ff_focused) and initial code for an editor control (will support both single and multiline editing - a "child" control, field, will be used as a default setting for the singleline editor later) (user: badsector@runtimeterror.com tags: trunk)
=== 2011-07-24 ===
10:01:42 [d2b0369372] Fixed a typo (user: badsector@runtimeterror.com tags: trunk)
09:37:02 [04fd5c8688] Fixed padding and added "around" margin/padding property This commit fixes padding for the right/bottom sides and adds padding-around and margin-around properties (padding is only used in border and frame layouts, margin can be set only as a property currently). (user: badsector@runtimeterror.com tags: trunk)
09:36:05 [26da385619] X11 now sends the FF_CLOSE message (user: badsector@runtimeterror.com tags: trunk)
07:39:24 [b0e7d6e684] X11 backend tries to use one of some known fonts This commit makes X11 to try and use one of some predefined fonts. The list of fonts are (in the order they're tried): 1. helvetica medium 12px 2. lucida medium 12px 3. freesans medium 12px 4. fixed medium semicondensed 12px If this fails, the backend uses whatever default font X11 provides. (user: badsector@runtimeterror.com tags: trunk)
04:52:08 [7600e7f3b4] Fixed rectangle size for Win32 This commit fixes the rectangle size for Win32 to be the same as under X11 (so that the bottom-right corner be exactly at the specified coordinates). (user: badsector@runtimeterror.com tags: trunk)
04:49:56 [7ea6dd138c] Fixed text metrics and rectangle size under X11 This commit fixes the text metrics function (the ff_textsize one) under X11 to return the overall font height instead of the height of the specific passed string (which made different button captions to produce different button preferred sizes). Also the rectangle size was fixed for the checkbox under X11. (user: badsector@runtimeterror.com tags: trunk)
04:14:07 [f854203a0c] Added checkboxes This commit adds checkboxes (checkbox.c and checkbox.c). The checkboxes have three properties: caption (their caption), checked (their checked status) and autocheck. If autocheck is nonzero the checkbox is automatically checked/unchecked. Otherwise the program has to change the status manually (by handling the FF_ACTION message). (user: badsector@runtimelegend.com tags: trunk)
02:47:31 [6955efdbe5] Using development switched in OpenWatcom files I forgot to switch back to the development switches after configuring the release switches. (user: badsector@runtimelegend.com tags: trunk)
02:43:55 [8e59a1828e] Added exit-on-close property in toplevel windows This commit adds a new property on toplevel windows, exit-on-close, which causes the window to call ff_exit once it receives a FF_CLOSE message. The exit code is set to the value of exit-on-close minus one. The default value for exit-on-close is 1 which causes all toplevel windows to call ff_exit with 0 once they receive the FF_CLOSE message. (user: badsector@runtimelegend.com tags: trunk)
02:17:59 [849a1fe362] Added mouse capturing code in win32 backend This commit adds mouse capturing code in the win32 backend. The mouse is captured when the user presses any mouse button over a window and released once the button is released. (user: badsector@runtimelegend.com tags: trunk)
02:06:27 [ded47fecec] Updated OpenWatcom project files (user: badsector@runtimelegend.com tags: trunk)
02:06:05 [42e2305261] Added OpenWatcom project files (user: badsector@runtimelegend.com tags: trunk)
02:05:51 [cd2eb4cde8] Renamed files to avoid conflicting object names (user: badsector@runtimelegend.com tags: trunk)
=== 2011-07-23 ===
00:57:33 [e459773979] Added license.txt (user: badsector@runtimelegend.com tags: trunk)
00:52:06 [31136624dc] Added readme.txt (user: badsector@runtimelegend.com tags: trunk)
00:47:49 [da33252586] Added win32 backend, controls, etc (user: badsector@runtimelegend.com tags: trunk)
=== 2011-01-17 ===
07:26:59 [cee57204a6] Initial commit (user: badsector@runtimelegend.com tags: trunk)
+++ end of timeline (346) +++
  
 
End of export notice 
