Fre Nov 24 15:04:48 2000 Till Adam *polygon resize zoom mode works now. Wed Nov 22 23:06:02 Till Adam *added polygon resize. theres only one mode now which will soon become strech mode. The other one, zoom, will grow or shrink the poly proportionally from the center point. Sun Nov 12 16:05:00 2000 Tom Gilbert * geist now requires giblib. Fri Oct 27 01:54:49 2000 Tom Gilbert * Style loading/saving to an ascii format now works. We have our own, but guess what? We can load EFM font styles (there are a few of them around) as well :-) Fri Oct 27 01:15:13 2000 Tom Gilbert * Changed style format slightly to make styles independant of the colour of the text having a style applied (before that too was defined in the style). Now text objects have their r,g,b,a values back, and these are applied to any style bit with r=g=b=a=0. This also means you can have a style defining that the main coloured layer is behind another layer, for glow effects etc. A style can exist without a r=g=b=a=0 bit, but it's rather silly, as the actual text colour would never be applied ;-) Wed Oct 26 00:05:49 2000 Till Adam *font style editor. it renders to the document in realtime, but pressing cancel discards the changes. I ripped most of the gui from the font style editor for efm by dphase@dphase.net. thanks dude :) * fixed Dickie Giblets geist_list_move_up/down_by_one funcs and added geist_list_add_at_pos for easier shuffling around of bits in the list * needs a clear/reset button and the load/save_style buttons need to actually do something :) Mon Oct 23 23:06:55 2000 Tom Gilbert * Funcs to move list items up and down. Sat Oct 21 15:53:25 2000 Till Adam * clicking on an empty area of the document and dragging will now draw a selection rectangle. Shift toggles the selection. Any suggestions for the color of this thingy ? Should we make that configurable? Who prefers a line rect (not filled)? Fri Oct 20 00:22:54 2000 Dickie Gilbert * Working text styles. There is no UI for editing/creating these yet. There will be. For now, check out the outlined, soft-shadowed text in the test.xml demo :-) Tue Oct 17 13:52:16 2000 Dickie Gilbert * The start of some text styles. Sun Oct 15 23:34:30 2000 Till Adam * polygon rotation. line rotation is in there too, I forgot to write a changelog entry for that, as well as for text block justification, which I added about two weeks ago. Sorry about that :) Line rotation aint right yet, as I need to convert lines to use double values for coordinates for it to work right Sat Oct 15 02:27:32 2000 Lyle Kempler * Added a spec file. Mon Oct 9 16:52:24 2000 Dickie Gilbert * More polygon work. Lots more to do, it doesn't work properly right now, not in the slightest ;-) * However, they are loaded and saved okay now, and you can create them. That's about it though. Thu Sep 28 14:12:47 2000 Dickie Gilbert * Fixed broken line clipping, a line with height 0 should still be drawn, height 0 just means the damn thing is horizontal :) Thu Sep 28 11:54:11 2000 Dickie Gilbert * Initial polygon object code. Not active yet (need to write create/load/save code first). Mon Sep 15 17:30:26 2000 Dickie Gilbert * Fixed the "rotating vertical lines makes them disappear" bug. * Rewrote some line stuff with a faster, more general case. * Thanks to Alex Hudson (ID-Pro) for advice on this. Sun Sep 10 01:12:27 2000 Dickie Gilbert * Clear obj/docs properties on doc close * Change props window on doc switch. Sun Sep 10 00:07:37 2000 Dickie Gilbert * Word wrapping for text objects. * Fixed bug in clipping code. Fri Sep 8 20:15:01 2000 Dickie Gilbert * Save image colormods. * Load image colormods. * Apply same. * Fix text object copying * Multiline text boxes work now. Fri Sep 8 18:50:34 2000 Dickie Gilbert * Yay. Text objects now handle multiple lines and text justification. You won't see this yet, as the property box is still a single line GtkEntry right now. I'll do that next. It appears to me that the GtkText widget has one of the suckiest APIs I've ever seen :/ Sun Aug 27 02:19:03 2000 Dickie Gilbert * Yuck. Strongly dislikes the notebook UI. Having all the documents in the same window means having the window the same size for all of them - hardly ever what you want. Plus I want to see more than one at a time. So we revert to a multiple document window setup, and let the WM do the layout work. Much better. * The currently selected document currently changed on mouse_enter, let me know if this is too senstive, we could do on mouse click instead or something... * May have introduced some bugs as this was a big change. Let me know. Sat Aug 26 20:48:36 2000 Dickie Gilbert * Block all the handlers when filling doc properties fields in, else all the changed handlers get called. * Added document resizing support. It's a hack right now, as it doesn't work quite right with the scrolled window. The interface needs some fixing up soon. Thu Aug 24 21:25:25 2000 Dickie Gilbert * Urm. *spanks Till*. You don't efree() a geist_list :-) You geist_list_free it :-) And you don't need to efree() a pointer into said geist list ;-) * Implemented img->alias, and a property dialog setting to determine whether to antialias the image on resizing. * Made opacity changing work better by storing the last value. * Removed the demo1.xml document. Geist currently uses absolute image paths, and you guys don't have those images ;-) * The way this will work in the future is the choice of either image linking (absolute path), or image "embedding". This will create a directory containing the xml file and it's contained images, with relative links. We then have the option of hiding this in one file like a tar.gz, but using funky VFS to do it. This gives the user "one file" for his document, but lets him get at the XML and images and screw with them by hand if he/she wants. * We'll do font embedding too, I'm sure. Wed Aug 23 21:23:40 2000 Dickie Gilbert * Image resizing :-) It seems to actually work too ;-) * "Zoom" mode maintains the aspect ratio of the image, "Stretch" mode doesn't, and "None" leaves the image as it was. * This actally seems to work right now, but let me know if you come across a buglet :) * Currently hardwired to resize with antialiasing, there will later be options never to AA an image, and eventually we will do the feh-style "no AA during resize, but apply once resize has finished". Wed Aug 23 17:14:27 2000 Dickie Gilbert * Upgrade to libxml2. You'd better have it. As far as I know, libxml 1.8.8 upwards will work, but I wouldn't rely on anything much less than the 2.2.1 I have tested it with. * Enjoy. Wed Aug 23 16:20:39 2000 Dickie Gilbert * Added "New line..." buttons and menu entry. * Fixed multiple resizing of lines. This works more sanely now, but still doesn't feel right. How should multiple lines resize together? Tricky. * Fixed a bug where steep vertical lines couldn't be selected. Just an oversight in the check_click member. Wed Aug 23 14:12:05 2000 Till Adam ^* added _update_position_relative and _update_dimensions_relative as object member functions and updated the callbacks to use them. Tue Aug 22 21:38:51 2000 Dickie Gilbert * Object dirtying now uses an update rect generated by a geist_object member, so objects can define their own shapes. * Updates for lines are now computed from the points on the line, instead of just adding a rectangle covering the whole line as before. Much faster, although the code which loops through the points on the line could use some optimising I guess... Tue Aug 22 17:45:53 2000 Dickie Gilbert * Line selection works sanely now. Tue Aug 22 04:29:18 2000 Dickie Gilbert * More line work * Patch from nolan (email?) to implement image opacity. Looks sweet and is fast, but there is a leak we can't find in there somewhere, so be careful until we find it ;-)p Tue Aug 22 01:15:40 2000 Dickie Gilbert * Big restructure of object code, made lots more functions members of the object class, as lines etc need to do stuff diferently. * Line selection boxes are now drawn at each end of the line. * Resizing lines *almost* works right now, but needs some tweaking ;-) Mon Aug 21 19:15:59 2000 Dickie Gilbert * Decent, Working XML check courtesy of Dave J (the powertweak guy), much better :-) * A line object type. Works well, but don't try and resize it, that code is just a stubb right now. I had to use a line clipping algorithm to do partial rendering right here, so everyone thank Cohen and Sutherland for "lending" me theirs ;-) * I can put the line clipping code into imlib2 if raster is interested, as a seperate function of course. Sun Aug 20 01:10:36 2000 Dickie Gilbert * nolan pointed out that the _object_dirty() function dirties the whole rendered image size, even if the object has been resized smaller than the rendered size. This also effects click-selection. Fixed now with a obj->get_rendered_area() member fuction. Thanks nolan :) Fri Aug 18 00:37:25 2000 Dickie Gilbert * Check for libxml. Test whether it is installed to or (it's the same damn lib, the author just got very confused about his loyalties and changed between one minor version and the next :/ And NO, it does not depend on GNOME. You need libxml1 for geist right now. libxml2 needs a coupla bugs fixed before I switch.... Thu Aug 17 00:12:36 2000 Dickie Gilbert * Wheeeee! Geist can load it's own file format now :-) * Just make some changes, do a file/save and then load it back. Yipee! Wed Aug 16 20:30:52 2000 Dickie Gilbert * Update object list when changing current document. * Freeze clist for multiple additions... Wed Aug 16 20:13:26 2000 Dickie Gilbert * Support multiple documents. Added "Save" menu item... Tue Aug 15 18:38:17 2000 Dickie Gilbert * Start of some menus and a working "Save as..." entry. This is not how the menus will end up, but serves as a working test... Sun Aug 13 17:41:08 2000 Dickie Gilbert * Saving to XML format. XML is a nice structured format for our needs. Run geist and check the contents of test.xml after it's opened up... * Yes. You will need libxml installed for geist to compile now... Sat Aug 12 21:38:21 2000 Dickie Gilbert * Start of abstracted "fill" type. Wed Aug 9 19:31:43 2000 Dickie Gilbert * Object properties are now called by the objects themselves. The add text button has been changed to use this code, and there is a new "Edit" button to bring up properties. Wed Aug 9 00:18:47 2000 Dickie Gilbert * Changed api to use obj->layer and layer->doc, cleaned it up a lot in the process. Tue Aug 8 23:19:35 2000 Dickie Gilbert * Patch from Tillsan for "add rectangle" and the start of some object property code. Tue Aug 8 18:51:07 2000 Dickie Gilbert * Seperated resize modes from alignment modes. API cleanup. Mon Aug 7 21:34:38 2000 Dickie Gilbert * Rectangle resizing * Centred text resizing * Centred image resizing, need to implement zoom and scale resize modes for this next. Sun Aug 6 23:04:59 2000 Dickie Gilbert * Moved obj->visible into state mask. * Backend of resizing code in place. Objects aren't actually resized yet, but drag a selection rect and see the printfs! ;) Sun Aug 6 19:20:08 2000 Dickie Gilbert * g_malloc and libc free don't mix :-) This fixes the core dump on opening the file selector after deleting an object. * Fixed bug with object freeing itself twice :) Sun Aug 6 02:09:48 2000 Dickie Gilbert * Added rectangle objects. They look kewl ;-) * Fixed rendering bug not visible for images, but shown for rects. * Added rectangles to the demo :) Sat Aug 5 21:03:34 2000 Dickie Gilbert * Colour and transparency for text. Sat Aug 5 20:49:18 2000 Dickie Gilbert * Moved the checking of pixel transparency to a member function of geist_object, so that different objects can determine their transparency differently. Sat Aug 5 19:15:08 2000 Dickie Gilbert * Copy works, and handles multiple selections too. * Fixed coredump when typing stuff in the text boxes ;) (My bad). * Fixed some other stuffs... Urm... Sat Aug 5 16:37:37 2000 Dickie Gilbert * Check if object is visible when seeing if it's been clicked. * Check a layer is visible before checking selections on its objects. * Made the object list an extended selection mode list. * Wired in multiple selections into the object list. * The editing of name/text is disabled for multiple selections right now, but it's easy to wire it up to modify multiple objects at once. * Delete works for multiple objects. But there cores when you delete the last one. I have to fix this next. * I'll do copy next too. Sat Aug 5 12:59:35 2000 Dickie Gilbert * Fixed text update, removed duplicate call to _text_create_image() and dirty the object before it is resized, so that if it shrinks, no pixel goop is left behind. * Patch from Till Adam, apparently the file selector wasn't getting destroyed properly. * File selector callback didn't check path != NULL and didn't check the image wasn't NULL (in case of non-images). * Checks for valid objects in object list callbacks. * Wired in the object deletion button. * Slight optimisation by adding a function to only dirty the selection of an object, for when it's selection changes only - it saves redrawing the whole thing. Sat Aug 5 12:58:54 2000 Dickie Gilbert * Stuff by pabs last night: - added geist_object_get/set_type() for later calls. - gixed a bug in geist_text_change_text() that caused a SEGV if you used it (SMOOTH MOVE TOM). - selecting ojbects in the geist window will now update the selection in the object list. - selecting an object in the list will automatically raise it. - added a visibility checkbox. - added a text entry box. if the object you select is a text object, you can adjust the text real-time. - you can now load images with the "add" button. Sat Aug 5 01:04:41 2000 Dickie Gilbert * Fixed make install to work. But now YOU HAVE TO RUN MAKE INSTALL FOR GEIST TO WORK! I hope you all read that ;-) Sat Aug 5 00:55:52 2000 Dickie Gilbert * Oh sod it. I made it fuzzy over the neighbouring 9 pixels. Will be an option in the future, but this makes it easier to select textboxes. Sat Aug 5 00:44:08 2000 Dickie Gilbert * Okay. Partial rendering works again * Multiple motionnotify events in the queue are reduced to one. * Transparency mask for object clicking. i.e. clicking the see-thru part of an object won't select it. I may make this fuzzy over 9 pixels in the future, so you don't have to be too precise in your clicking... Fri Aug 4 13:06:58 2000 Dickie Gilbert * Multiple selections (using shift-click) and dragging of multiple objects. Wed Aug 2 19:18:50 2000 Dickie Gilbert * Object selection bounding boxes. Wed Aug 2 18:28:15 2000 Dickie Gilbert * Text objects. Tue Aug 1 19:42:30 2000 Dickie Gilbert * Pop objects to top of layer on drag Mon Jul 31 16:47:36 2000 Dickie Gilbert * It works! Renders to the gtk window and everything :) Mon Jul 31 16:47:18 2000 Dickie Gilbert * Initial import. Object hierarchy done.