David Capello
51b0fbdc96
Renamed icon.rc to resources_win32.rc, and added VERSIONINFO resource.
2010-07-18 18:27:42 -03:00
David Capello
04a096d6b9
Modified some comments from C style to C++.
2010-07-18 14:44:21 -03:00
David Capello
f32ce85936
Minor improvement to BlenderHelper<RgbTraits, IndexedTraits> saving the current palette as member.
2010-07-17 20:50:24 -03:00
David Capello
61150ad31e
Merged all preview commands (fit screen/tiled/normal) to just one Preview command (F8).
...
- Improved preview to show checked background as default background for transparent sprites.
- Added RenderEngine::renderImage() and renderCheckedBackground().
- Removed F6 and F7 shortcuts.
2010-07-17 20:49:42 -03:00
David Capello
c8ae9cbf8a
Minor changes in comments.
2010-07-17 20:44:51 -03:00
David Capello
1ca29538c0
Added ISettings::getOnionskinOpacityBase/Step() methods.
2010-07-16 18:46:19 -03:00
David Capello
65d1ab6865
Removed usage of color_map in ImageImpl<IndexedTraits>::merge() function.
2010-07-16 18:21:05 -03:00
David Capello
ba1c80831b
Added support for onionskin with multiple frames.
2010-07-16 18:20:02 -03:00
David Capello
313b915e63
Implemented onionskin stuff in UISettingsImpl class.
2010-07-16 18:10:04 -03:00
David Capello
fef94477cb
Modified render method to use a RGB image for the final result (independently of the current image type).
...
With this we can draw the background grid (and use onionskin) in indexed images without palette limitations.
2010-07-16 17:52:29 -03:00
David Capello
28b3f7fe8c
Minor change: Modified C comments to C++.
2010-07-16 17:48:47 -03:00
David Capello
7fa04dddb2
Moved check_args.cpp from src/core/ to src/.
2010-07-16 17:00:37 -03:00
David Capello
f2f1bb26f2
Replaced old DIRS structure with ResourceFinder class.
2010-07-16 16:56:45 -03:00
David Capello
8812623528
Removed LoadPalette() function.
2010-07-16 16:48:02 -03:00
David Capello
a82d721913
Moved get_pretty_memsize (core.h) to get_pretty_memory_size (mem_utils.h).
2010-07-16 16:05:56 -03:00
David Capello
81fcdb53a3
Modified status bar text when we are dragging pixels in the editor.
...
+ Added PixelsMovement::getImageBounds() method.
2010-07-14 20:02:18 -03:00
David Capello
3218265eed
Fixed dirs.cpp for Mac OS X to behave same as on Unix (with the addition to look for .app directory content).
2010-07-14 19:58:22 -03:00
David Capello
d3fd921f1a
Added Launcher::openFile() command for Linux.
2010-07-07 15:10:31 -03:00
David Capello
a6b164d88b
Added quotes in Launcher::openFile() to open URLs with '&' character.
2010-07-06 23:45:41 -03:00
David Capello
b2d212f90f
Added operating system name and version in CheckUpdates command.
2010-07-06 23:31:54 -03:00
David Capello
eb68ae06e1
Fixed "Quick Reference" command. Documentation is searched in different locations depending the operating system.
2010-07-06 23:31:31 -03:00
David Capello
ff705fce46
Improved Launcher::openFile() method for Windows using ShellExecute() instead of system().
2010-07-06 23:29:40 -03:00
David Capello
5f670782de
Fixed a compilation error in gcc with std::sort().
2010-07-05 21:48:27 -03:00
David Capello
7f4871c2fb
Modified about command to show links to authors' home page.
2010-07-04 23:17:01 -03:00
David Capello
c400ea0cd0
Added CheckUpdates command.
2010-07-04 12:07:38 -03:00
David Capello
b5944202f1
Removed tools.cpp.
2010-07-04 12:04:05 -03:00
David Capello
c4ab208e4b
Replaced jwidget_show/hide/is_visible/is_hidden functions with Widget::isVisible/setVisible methods.
2010-07-04 12:03:14 -03:00
David Capello
47aa64efe4
Removed jwidget_enable/disable/is_enabled/is_disabled functions.
2010-07-03 15:26:27 -03:00
David Capello
447f6438a4
Removed jwidget_select/deselect/set_selected/is_selected/is_deselected functions.
2010-07-03 15:03:26 -03:00
David Capello
ee3e04386b
Added LinkLabel widget.
2010-07-03 14:33:31 -03:00
David Capello
cb0488b50b
Refactored jlabel widget to Label class.
2010-07-03 13:48:14 -03:00
David Capello
449cdd686f
Added Donate command.
2010-07-03 13:36:39 -03:00
David Capello
3d89a21e2f
Added "Quick Reference" command.
...
- Added Launcher class to open files and URLs.
2010-07-03 13:34:17 -03:00
David Capello
6351aa1db5
Modified minimum scroll-bar thumb size.
2010-06-25 00:31:40 -03:00
David Capello
d8d66782c8
Added to the file selector dialog the list of recent paths (which is generated from the list of recent files).
2010-06-25 00:27:04 -03:00
David Capello
7b9f3a154f
Fixed floodfill algorithm for colors with alpha=0 but different RGB components.
2010-06-24 23:54:40 -03:00
David Capello
4dff5fac85
Converted combobox widget to a class (ComboBox class derived from Widget).
2010-06-24 23:44:59 -03:00
David Capello
bbc16ab0da
Now the separator label is drawn with other color.
2010-06-24 23:36:29 -03:00
David Capello
91b6233b48
Now the user can select mask color as foreground or background colors (e.g. now you can erase with right button using brush tool).
2010-06-24 23:25:30 -03:00
David Capello
0467790bcf
Added skin to scrollbar.
2010-06-24 00:09:46 -03:00
David Capello
d6def8fcc4
The number of colors in indexed sprites cannot be modified in the beta version yet (it needs more testing).
2010-06-23 23:31:29 -03:00
David Capello
52f94b613b
Changed "Discard" to "Don't Save" in the warning dialog when the user wants to close a modified file.
2010-06-23 23:20:16 -03:00
David Capello
2f242e4934
Fixed get_color_for_image() function with color indexes out of range.
2010-06-23 23:18:57 -03:00
David Capello
896fbcc095
Fixed problems in color curve effect using color indexes out of range.
2010-06-23 23:18:22 -03:00
David Capello
548c82adaf
Fixed save/load operations of .ase format for sprites with less than 256 colors.
2010-06-23 10:38:07 -03:00
David Capello
ce186c95b3
Avoid using RGB_MAPs with invalid colors (palette index out of range).
2010-06-23 10:36:42 -03:00
David Capello
2b5058f66c
Modified "on_color_changed" slot (in palette editor) to avoid using invalid colors.
2010-06-21 22:17:05 -03:00
David Capello
489927528d
Fixed a bug calling "palette_editor" with invalid color (index out of range).
2010-06-21 22:16:30 -03:00
David Capello
7d659f1017
Sort command will not be available in the beta version.
2010-06-17 02:28:37 -03:00
David Capello
1de1a263f1
Added undo information to sort command (it is WIP, is not working properly).
2010-06-17 02:17:42 -03:00
David Capello
df03782e0a
Now Palette:sort() generates a mapping table.
2010-06-17 02:16:43 -03:00
David Capello
10325873d3
Added undo_remap_palette() function.
2010-06-17 02:14:44 -03:00
David Capello
1320ad7b61
Added Sprite::remapImages().
2010-06-17 02:13:42 -03:00
David Capello
636b188283
Added possibility to sort a range of palette entries.
2010-06-17 00:34:39 -03:00
David Capello
924fc09a66
Added HSL_Lightness and YUV_Luma palette sort criteria.
2010-06-17 00:21:57 -03:00
David Capello
265896ac07
Now the "More Options" visible status is saved in configuration file.
2010-06-15 19:46:39 -03:00
David Capello
6fb63f71b0
Modified logic to selected the default sort criteria in palette editor.
2010-06-15 19:45:57 -03:00
David Capello
512a6162fe
Renamed aseprite.cfg to aseprite.ini (.ini files can be opened in Windows).
2010-06-15 19:44:41 -03:00
David Capello
ec30837631
Added Palette:sort() and SortPalette class.
...
Implemented "Sort" command in palette editor.
2010-06-14 22:53:30 -03:00
David Capello
a5645bf577
Minor change: eliminated compilation warning.
2010-06-14 22:35:20 -03:00
David Capello
051577f725
Added jlistbox_get_items_count() function.
2010-06-14 21:22:59 -03:00
David Capello
d19321981d
Removed not-implemented jlistbox methods.
2010-06-14 20:40:45 -03:00
David Capello
91174456cd
Added the missing palette commands: ramp, quantize, load, and save.
2010-06-13 20:04:38 -03:00
David Capello
a0fabbfe18
Fixed makeRectRamp() when "from" index is greater than "to" index.
2010-06-13 19:51:26 -03:00
David Capello
9a550e2301
Added "More Options" panel in palette editor.
2010-06-13 19:35:40 -03:00
David Capello
493bbbd20c
Fixed size of palette editor boxes for jguiscale() > 1.
2010-06-13 18:06:11 -03:00
David Capello
0d4851b0fb
Removed death code in paledit.cpp.
2010-06-13 18:05:21 -03:00
David Capello
93f7d76715
Converted tabs widget to Tabs class and ITabsHandler interface.
2010-06-13 17:51:22 -03:00
David Capello
b37886b052
Now the status-bar text is cleared when the mouse leave widgets like Editor and ToolBar.
2010-06-11 00:05:53 -03:00
David Capello
c78f467ee4
The color-bar does not show invalid colors in the status-bar anymore.
2010-06-10 23:59:12 -03:00
David Capello
b334706cce
Added StatusBar::clearText() member function.
2010-06-10 23:58:48 -03:00
David Capello
ed14c4a31a
Now selected colors to draw are checked in Editor::createToolLoopImpl().
2010-06-10 23:51:22 -03:00
David Capello
07970e8116
Removed app_get_fg/bg_color() functions.
2010-06-10 23:50:10 -03:00
David Capello
c908af4b87
Modified the way invalid colors are drawn.
2010-06-10 23:49:33 -03:00
David Capello
a17a3de4d4
Fixed: now you cannot select invalid colors with the color-bar.
2010-06-01 22:42:20 -03:00
David Capello
2a2effa4ff
Fixed color_to_formalstring() for invalid colors.
2010-06-01 22:41:44 -03:00
David Capello
9942cf953c
Fixed draw_color() function to draw invalid colors (out of palette range).
2010-06-01 22:41:26 -03:00
David Capello
7e711119e0
Removed a lot of warnings from core/color.cpp
2010-06-01 22:24:24 -03:00
David Capello
4de7f0e7c0
Added BITMAP* parameter in draw_emptyset_symbol() function.
2010-06-01 22:24:07 -03:00
David Capello
c975930fc3
Added color_is_valid() function to know if a color is inside the valid range of palette indices.
2010-06-01 22:03:44 -03:00
David Capello
0a5746bf3b
Added the number of colors in "New Sprite" dialog for Indexed sprites.
2010-06-01 20:35:13 -03:00
David Capello
81bafa3595
Added some assertions to access current palette indexes through color_t type.
2010-05-30 10:55:13 -03:00
David Capello
4174c895ae
Show the number of colors in sprite properties dialog.
2010-05-30 10:53:22 -03:00
David Capello
399d613a76
Now the palette is created with the given number of colors.
2010-05-30 10:48:37 -03:00
David Capello
018aeffa47
Fixed bug in Palette::toAllegro(): Index out of range.
2010-05-30 10:48:17 -03:00
David Capello
4a9f6cf520
Now Editor::controlInfiniteScroll() is called when the editor's state is MOVING_PIXELS but even when the user is not dragging the pixels (just the mouse captured).
2010-05-06 23:34:30 -03:00
David Capello
e5c7bf34fa
Added more methods to handle decorators (still WIP) in Editor class.
2010-05-06 23:33:26 -03:00
David Capello
bffd54bf79
Added Editor::editor_set_zoom_and_center_in_mouse to remove duplicated code.
2010-05-06 22:15:58 -03:00
David Capello
f9aaf0af99
Fixed cursors problem when the user is dragging pixels.
2010-05-06 22:00:22 -03:00
David Capello
8e985a3bd8
Renamed PixelsMovement::m_isCatched (which should be Caught) to m_isDragging.
2010-05-06 21:59:48 -03:00
David Capello
c5c1f45b96
Fixed clipping problems dragging selected pixels when other windows are opened.
2010-05-06 21:58:13 -03:00
David Capello
9902481f51
Improved pixel-movement: Added support for continuos movement even when we release the mouse button.
...
The mouse is captured by the editor until the user presses a key (e.g. to execute a command) or uses the selection tool to add/subtract chunks of mask. While the mouse is captured we are in the "pixels movement" loop.
2010-05-03 23:01:05 -03:00
David Capello
a98113a92e
Fixed problems with cel position alignment in Undoable::clear_mask and paste_image members functions.
2010-05-03 22:55:06 -03:00
David Capello
8b4c4f6a5a
Added jmessage_new_copy_without_dests() to copy messages without copying the list of recipients.
2010-05-03 22:40:01 -03:00
David Capello
ea56481314
Updated copyright to 2010.
2010-04-28 23:52:51 -03:00
David Capello
e1bdcb9899
Added buttons in Options dialog to change grid colors (normal grid and pixel grid).
2010-04-28 23:47:08 -03:00
David Capello
2af3160b3f
Added an option in Tools Configuration dialog to show the pixel grid.
2010-04-28 23:46:17 -03:00
David Capello
30c6677cc1
The Editor can draw the pixel grid.
2010-04-28 23:44:32 -03:00
David Capello
4807de27b4
Added "pixel grid" in ISettings interface.
2010-04-28 23:44:10 -03:00
David Capello
8dd69cada9
Moved "Cursor Color" setting from "Tools Configuration" to "Options" dialog.
2010-04-25 23:35:05 -03:00
David Capello
d4a0b4b9eb
Modified color selector (tabs replaced with buttons).
...
Mask button now is just one button (you don't need to select tab and then the "mask button").
2010-04-25 23:24:26 -03:00
David Capello
475398eb4b
Fixed colorbutton_draw().
2010-04-25 23:22:48 -03:00
David Capello
74356cf8b7
The color selector in color-buttons appears only when they are clicked.
2010-04-25 23:21:10 -03:00
David Capello
5bea28659e
PopupWindow have not yellow background anymore.
2010-04-25 23:17:37 -03:00
David Capello
475857ebcf
Removed unused value in draw_color().
2010-04-25 23:14:58 -03:00
David Capello
e12c99f61d
Avoid to reserve caption space in popup windows that do not have a caption.
2010-04-25 23:14:13 -03:00
David Capello
3cd3839feb
Minor fixes for short color format in color_to_formalstring() function.
2010-04-25 23:12:50 -03:00
David Capello
0260452e3e
Color buttons for checked-bg have imgtype=IMAGE_RGB.
2010-04-25 23:12:07 -03:00
David Capello
8e62794da0
Added validation in "Grid Settings" dialog to avoid negative grid width/height.
2010-04-25 21:30:29 -03:00
David Capello
befd81c63b
Added "checked background configuration".
...
Now you can configure size and color of the checked background
used in transparent sprites.
2010-04-25 21:29:50 -03:00
David Capello
9c63b4f1ba
Added more width to default combobox size.
2010-04-25 19:33:08 -03:00
David Capello
3f6f1471fd
Removed mouse speed option.
...
Removed _setup_mouse_speed() function and dialog/options.cpp file.
All the code is in cmd_options.cpp now.
2010-04-25 15:52:19 -03:00
David Capello
5665b7dd1a
Added grid_settings command (feature #2874433 ).
2010-04-25 15:31:44 -03:00
David Capello
b8e49466ad
Added support for vertical separators:
...
- New PART_SEPARATOR_VERT in skin.
- New SkinneableTheme::draw_part_as_vline() function.
2010-04-25 15:02:28 -03:00
David Capello
162e3efd97
Modified default bounds of "palette editor" window.
2010-04-25 14:40:40 -03:00
David Capello
ebf8515a30
Fixed possible dead-pointers deleting a widget.
2010-04-25 12:13:59 -03:00
David Capello
da072b79e9
Moved icons to data/icons/ directory.
2010-04-25 12:05:18 -03:00
David Capello
f0f5bafd78
Refactored all jwidget_has_focus/mouse/capture functions to member functions.
...
Added Widget::hasFocus/Mouse/Capture and Widget::hasMouseOver() members.
Removed JI_HARDCAPTURE flag (it was used only by button widget).
2010-04-25 12:03:25 -03:00
David Capello
314e59dae1
Now the user can move selected pixels (still WIP).
...
Details:
Added EDITOR_STATE_MOVING_PIXELS state to Editor.
Added PixelsMovement helper class.
Added Undoable::paste_image().
2010-04-24 21:23:40 -03:00
David Capello
c65de92e47
Added Editor::controlInfiniteScroll() member function.
2010-04-24 21:04:03 -03:00
David Capello
220df93c35
Fixed: You cannot change the frame or fg/bg color when you are drawing using the mouse wheel.
2010-04-24 16:55:39 -03:00
David Capello
c7f0b368f7
Added support to load .ico files (still WIP).
2010-04-24 16:11:48 -03:00
David Capello
20c4ac5235
Added ToolInk::isCelMovement(). Now "Move" tool moves cel.
2010-04-24 16:10:48 -03:00
David Capello
bb6815524f
Refactored 'extras' stuff in Sprite class.
...
Now it is called "ExtraCel" which is the union of a Cel and an Image.
2010-04-24 16:09:35 -03:00
David Capello
d79d29c1a5
Now when you pass the mouse over a tool button, the tool name and shortcut are shown in the status bar.
...
Added StatusBar::showTool().
2010-04-24 01:55:51 -03:00
David Capello
e12fd03b7b
Fixed a bug in convert_xmlelement_to_widget() setting maxwidth when only minwidth where specified.
2010-04-24 01:36:11 -03:00
David Capello
28074c0e0c
Added "wheel actions". The new behavior for the mouse wheel is this:
...
wheel=zoom,
alt+wheel=change fg color,
ctrl+wheel=change frame.
2010-04-24 01:31:35 -03:00
David Capello
c8436b73e3
Better feedback for eyedropper tool (now the eyedropper tool is controlled by the editor as "Alt+click").
2010-04-24 01:30:24 -03:00
David Capello
f0c2ae6991
State bar shows alpha value when a color is being shown.
2010-04-24 01:28:33 -03:00
David Capello
e145ea63d7
Removed MODE_VERBOSE in beta version.
2010-04-24 01:22:35 -03:00
David Capello
f2265b2034
Improved color indicators in status bar (StatusBar::showColor()).
2010-04-24 01:06:30 -03:00
David Capello
21a979874b
Added support for alpha (in skin graphics) in ToolStrip JM_DRAW message.
2010-04-24 00:13:00 -03:00
David Capello
b0f9b75198
Updated about text.
2010-04-23 23:58:54 -03:00
David Capello
c1dfcc04f7
The ToolStrip is shown only for ToolGroups with more than just one tool (bug reported by Ilija).
2010-04-23 23:26:22 -03:00
David Capello
1e3e4a7bc7
Now SkinneableTheme::draw_bounds*() member functions
...
receive destination BITMAP. With this we eliminated all
hacks of the ji_screen <-> double-buffer switching style.
2010-04-23 22:36:40 -03:00
David Capello
917127ce37
Added alpha support for skin sheet.
2010-04-23 21:56:59 -03:00
David Capello
0feed51cde
Fixed problem in CurrentGfxModeGuard changing gfxmode when it is not necessary.
2010-04-23 21:55:10 -03:00
David Capello
967d0fef39
Fixed problem with Ctrl+mouse wheel over the color-bar (reported by Ilija).
...
Renamed ColorBar::m_colorsPerColum to m_colorsPerColumn.
2010-04-23 21:49:50 -03:00
David Capello
a76473bf9d
Fixed problem picking non-indexed colors.
2010-04-23 19:13:55 -03:00
David Capello
210c127477
Removed unused local variable "imgtype".
2010-04-23 19:13:43 -03:00
David Capello
2c49990420
Added SkinneableTheme::reload_skin() to reload the skin sheet.png file when you press F5.
2010-04-23 19:03:09 -03:00
David Capello
e555f78996
Fixed OpenFilecommand::execute() to open files with errors (these errors in loading process are shown anyway).
2010-04-23 19:02:17 -03:00
David Capello
f24dc119ff
Some PRINTFs in gui_flip_screen() to catch the lost screen bug.
2010-04-23 18:50:12 -03:00
David Capello
22b51d20d7
More PRINTF in execute_command() to trace execution of commands.
2010-04-23 18:49:40 -03:00
David Capello
b7410ace5d
Added ASE_BETA flag in config.h
2010-04-22 19:00:22 -03:00
David Capello
233fa80850
Added a possible fix to bug #2980428 . It needs some testing.
2010-04-22 18:37:54 -03:00
David Capello
cc12e8e88e
Added GfxMode and CurrentGfxModeGuard classes.
...
Now ConfigureScreen command uses these classes.
2010-04-22 18:28:12 -03:00
David Capello
7459c7b6b6
Fixed a couple of warning for comparisons between size_t and int.
2010-04-20 23:46:03 -03:00
David Capello
ed792eba1e
Added getRgbMap() methods to Sprite class.
...
Added Palette* parameter to image_to_allegro() function and Image::to_allegro().
Removed orig_rgb_map.
Removed rgb_map usage (the Allegro global variable).
2010-04-20 23:44:31 -03:00
David Capello
a9ab9cc30d
Fixed thumbnails generation of cels (using the palette of the cel's frame).
2010-04-20 23:35:10 -03:00
David Capello
9a95a40e92
Added RgbMap class (this class will replace rgb_map Allegro usage).
2010-04-20 23:32:44 -03:00
David Capello
834a2cfe49
Added Palette::m_modifications member.
2010-04-19 22:43:41 -03:00
David Capello
5c00d14cc0
Replaced jwidget_flush_redraw recursiveness with a std::queue.
2010-04-19 22:42:58 -03:00
David Capello
19483aed3c
Changed calls from jwidget_pick to Widget::pick.
2010-04-19 22:41:35 -03:00
David Capello
7869642c83
Quantize a palette for RGB images when they are loaded.
2010-04-12 21:41:26 -03:00
David Capello
8ecc957fb2
Fixed a bug in update_sliders_from_color().
2010-04-11 17:42:18 -03:00
David Capello
bb69d63883
Fixed palette_editor_change_hook() to update entry widgets.
2010-04-11 17:42:01 -03:00
David Capello
10781dcf5f
Removed Context::getFg/BgColor member functions.
...
Modified color_get_*() so they do not need "imgtype" parameter.
ColorBar class is public (defined in colbar.h).
Added ColorBar::Fg/BgColorChange signals.
Converted palette editor widget to a C++ class (PalEdit derived from Widget).
Modified the "Palette Editor" (F4 key) to be non-modal (still WIP).
2010-04-10 17:01:56 -03:00
David Capello
37e08c1a4a
Context class is Vaca::NonCopyable now.
2010-04-10 16:56:26 -03:00
David Capello
edaf1ab0c1
Added "looklike" attribute in <check> and <radio> XML elements.
2010-04-10 15:55:28 -03:00
David Capello
c4e57b2777
Added jmanager_timer_is_running() function to know if a timer is running.
2010-04-10 15:54:46 -03:00
David Capello
bd6bff7998
Fixed: jwidget_flush_redraw() does not generate JM_DRAW messages for hidden widgets anymore.
2010-04-10 15:54:12 -03:00
David Capello
c4ea0dd603
Modified version indicator in about window.
2010-04-10 15:38:21 -03:00
David Capello
50f4cd8a9d
Added SkinneableTheme::m_selected_skin member and "[Skin]/Selected" configuration variable to change the selected skin.
2010-04-06 22:30:18 -03:00
David Capello
c5442abcba
Moved data/jids/*.jid files to data/widgets/*.xml.
2010-04-06 22:14:33 -03:00
David Capello
5ea607d801
More delay for Editor::flashCurrentLayer().
2010-04-06 09:03:53 -03:00
David Capello
8ee599f3e3
GotoPrev/NextLayerCommands do not show tooltip.
2010-04-06 09:03:39 -03:00
David Capello
2c7b527efb
Modified IntertwineAsLines::fillPoints to draw the contour too (so the shape of the final polygon is more like the previewed-contour).
2010-04-06 08:57:03 -03:00
David Capello
055af25600
Only unknown exceptions (invalid memory access, etc) are not caught in debug mode.
2010-04-06 08:27:53 -03:00
David Capello
27c895732d
Clicking fg/bg colors open the palette editor.
2010-04-01 00:09:25 -03:00
David Capello
6383d36f25
Fixed a bug in JM_DRAW handler of colorviewer_msg_proc() function. It was introduced in a recent commit.
2010-04-01 00:08:59 -03:00
David Capello
571a735f3a
Fixed somekind of bug (it could happen when we access to invalid memory).
2010-04-01 00:08:08 -03:00
David Capello
4d60f6d560
Default color for new files is current selected "Background Color".
2010-03-31 21:22:47 -03:00
David Capello
dceb182070
Added vsync to flashCurrentLayer.
2010-03-30 23:49:36 -03:00
David Capello
dd2c8d1730
Extras are drawn only when extras-opacity > 0.
2010-03-30 23:40:21 -03:00
David Capello
8720d156e5
Added Editor::flashCurrentLayer() for when the current layer is changed.
2010-03-30 23:40:01 -03:00
David Capello
ebe068b211
StatusBar::showTip now show the text in the same status-bar too (redrawing it).
2010-03-30 23:38:52 -03:00
David Capello
dd6da141c6
Buttons in the status bar now give us the possibility to change the current layer.
2010-03-30 22:46:43 -03:00
David Capello
d976011597
Fixed Sprite(const Sprite&) constructor.
2010-03-30 22:24:05 -03:00
David Capello
19dd9f6c90
Removed unused forward declaration.
2010-03-30 22:18:38 -03:00
David Capello
89e15da176
Fix bug in LayerImage::get_cels(). (it was introduced in commit cbc0bf22bd
)
2010-03-30 22:04:28 -03:00
David Capello
69a50e4d9d
Fixed: cursor preview is not shown anymore when animation is being played.
2010-03-30 21:49:35 -03:00
David Capello
735b65072e
After converting sprite image type, 'extras' are regenerated.
2010-03-30 21:47:31 -03:00
David Capello
475d0eeb1b
Refactored Sprite class: no public variable members, all functions sprite_* go as Sprite function members, pimpl idiom.
2010-03-30 21:43:18 -03:00
David Capello
c299844f96
More const-correctness in some functions.
2010-03-30 20:39:56 -03:00
David Capello
bc4e08f454
Added Vaca::Application and Vaca/main.h, and removed Vaca::System.
...
Now the application compiles with MinGW.
2010-03-30 10:22:47 -03:00
David Capello
a7ecb08f2c
Fixed some GCC warnings and errors.
2010-03-30 09:48:19 -03:00
David Capello
ffdd4cf848
Removed some warnings in ase_format.cpp.
2010-03-29 21:32:37 -03:00
David Capello
4611bc0f84
Added parameters to new_layer command ("ask" and "name").
...
Now by default this command does not ask to the user about the layer name.
2010-03-29 00:23:25 -03:00
David Capello
911c2dca8f
The state-bar shows the name of the current layer when there is just one layer.
2010-03-29 00:12:07 -03:00
David Capello
749488d794
Fixed a couple of compiler warnings.
2010-03-29 00:00:39 -03:00
David Capello
bea59d7280
Status bar widget converted to C++ StatusBar class.
2010-03-29 00:00:25 -03:00
David Capello
0119922613
Removed the big-layer button from the state-bar.
2010-03-28 23:18:26 -03:00
David Capello
7974bffb80
Fixed bugs when the current tool was used in an hidden/locked layer.
2010-03-28 17:29:13 -03:00
David Capello
2d5e2dc7d7
Modified state-bar to show the stack of layers.
...
Removed the sprite & undo size indicators (completely useless).
2010-03-28 17:28:38 -03:00
David Capello
145a78ac09
Fixed minor problem with color-bar and JM_REQSIZE message.
2010-03-28 16:48:34 -03:00
David Capello
67c678a690
Background/padding color in Animator Editor is equal to Sprite Editor one (from SkinneableTheme).
2010-03-28 16:44:34 -03:00
David Capello
ca25326d5d
Fixed some strange bugs that appears when a exception is thrown in file-loading process.
2010-03-28 16:18:49 -03:00
David Capello
4810ab8228
Added compressed images (with zlib) to .ase format.
2010-03-28 16:18:15 -03:00
David Capello
65466cfe04
Moved "ncolor" field in .ase format to next WORD position (the "unknown field" looks like a DWORD).
2010-03-28 16:17:51 -03:00
David Capello
5c2d31f3fe
Exceptions are caught in open/save command threads.
2010-03-28 15:47:22 -03:00
David Capello
129d5a9b13
Mouse wheel+shift in color-bar jumps entire columns.
2010-03-28 13:11:31 -03:00
David Capello
ee878c87e9
Modified Palette class to contain all functions to manipulate it as function members.
...
Modified its implementation to use std::vector<> instead of a raw C array[].
Now the number of colors in the sprite is more relevant (e.g. we should be able to create sprites of 4bpp, 16 colors).
2010-03-28 12:15:32 -03:00
David Capello
3b98594129
Removed dead code in cmd_open_file.cpp.
2010-03-27 23:45:03 -03:00
David Capello
61c1e08be1
Added RecentFiles C++ class to replace legacy C implementation of recent files.
2010-03-27 23:43:08 -03:00
David Capello
d7f6b78119
Removed tooltip window and refresh_timer stuff in new color-bar.
2010-03-27 19:43:04 -03:00
David Capello
62d0c1db1d
New simplified color-bar (still WIP).
2010-03-27 19:41:39 -03:00
David Capello
74f5fd2f41
Some error reporting if skin.xml contains invalid cursors.
2010-03-27 19:23:24 -03:00
David Capello
1c8705a8cf
Minor change: Replaced one JRect to Vaca::Rect.
2010-03-27 19:19:42 -03:00
David Capello
b9d0e846b2
Hand tool now really scrolls.
2010-03-27 19:15:00 -03:00
David Capello
9331e3e5d2
Added more information in About dialog.
2010-03-27 19:13:01 -03:00
David Capello
e675e4e5fe
Modified about string.
2010-03-27 18:54:11 -03:00
David Capello
d093439109
Minor change: C++ comment style.
2010-03-27 18:53:58 -03:00
David Capello
b1a53bfdd2
JM_DESTROY message cannot be used in derived classes of Widget.
2010-03-27 18:53:47 -03:00
David Capello
c3ef673421
Minor modification to comments.
2010-03-27 17:26:02 -03:00
David Capello
9a58b21b08
Now draw_emptyset_symbol() uses a Vaca::Rect instead of JRect.
2010-03-27 17:03:25 -03:00
David Capello
ea48f8d9a4
Added jdraw_rectfill() with a Vaca::Rect as parameter.
2010-03-27 16:26:08 -03:00
David Capello
ac27949623
Removed unused variables.
2010-03-27 16:25:18 -03:00
David Capello
a85efcded5
ASE will be the name for the next release.
2010-03-27 16:21:41 -03:00
David Capello
b676b74166
Fixed bug in LayerImage::destroy_all_cels() using cel_is_link() in deleted cels.
...
Removed cel_is_link() function because link cels do not exist anymore.
2010-03-26 11:44:27 -03:00
David Capello
8ff997d2d2
Fixed a lot of important bugs in clipping code.
2010-03-26 09:57:56 -03:00
David Capello
3f7621ec5c
Fixed: multiple-error messages when files specified in arguments are not found.
2010-03-26 08:45:13 -03:00
David Capello
74efad3a0a
Fixed a bug in CheckArgs::clear().
2010-03-26 08:42:53 -03:00
David Capello
706cc17748
Parts are specified in skin.xml now.
2010-03-26 08:31:47 -03:00
David Capello
15dc254f48
Smaller bottom area for tabs widget.
2010-03-24 22:50:14 -03:00
David Capello
4f40d89c6f
Added mini-look to tabs buttons.
2010-03-24 22:08:22 -03:00
David Capello
7185d439d8
Fixed SkinneableTheme::draw_bounds() when the rectangle is too short (in width).
2010-03-24 22:08:07 -03:00
David Capello
a2c3517717
Cursors coordinates are specified in the default_skin.xml now.
2010-03-24 21:35:44 -03:00
David Capello
f95a67f8fc
Converted color bar widget to ColorBar class.
2010-03-24 20:06:54 -03:00
David Capello
5af9b7809f
Fixed bug clearing tool icons.
2010-03-24 19:28:29 -03:00
David Capello
7d240c861f
Fixed bug 'preview cursor is not visible in indexed images when fg-color is 0' adding Image::mask_color field.
2010-03-24 19:15:23 -03:00
David Capello
975049bdea
Removed _index_cmap. It was used to remap colors of the current palette (useful in 8 bpp modes).
2010-03-24 18:21:20 -03:00
David Capello
1fe1e2ff7b
Removed real-time dithering option (because 8 bpp is not supported anymore).
2010-03-24 18:06:28 -03:00
David Capello
9774059a9a
Now windows threads implementation uses CreateThread instead of _beginthread.
2010-03-24 18:01:58 -03:00
David Capello
4ccb661bbf
Minilook for group of buttons (groupbut and buttons in "target" selector).
2010-03-24 17:49:46 -03:00
David Capello
a336900115
When the mouse leaves the color-bar the status bar is cleared.
2010-03-24 17:40:58 -03:00
David Capello
ca69e5572f
When a file is closed now the status bar says something about it.
2010-03-24 17:40:41 -03:00
David Capello
c00da333d3
Removed about screen with authors.txt
2010-03-24 17:37:16 -03:00
David Capello
0c54a2682c
Fixed a little problem with text in draw_slider() overlapping bottom border.
2010-03-24 17:30:15 -03:00
David Capello
dac67bb21c
Fixed some problems in jrectexclude() when y1==ey1 or y2==ye2.
2010-03-24 17:28:59 -03:00
David Capello
a4b55a980c
Applied jguiscale() to tooltips borders.
2010-03-24 17:28:03 -03:00
David Capello
0f597f747d
Removed tips.
2010-03-24 17:24:28 -03:00
David Capello
2a82911b18
Removed asm code.
2010-03-24 14:10:46 -03:00
David Capello
685f4cf191
Now PreviewFilled configuration field is for tool.
2010-03-24 13:57:31 -03:00
David Capello
271e1df6bd
Removed support for 8 bpp.
2010-03-24 13:56:31 -03:00
David Capello
5ea8d97b60
Added tooltips to toolbar.
2010-03-24 13:38:28 -03:00
David Capello
d6c4e07f8e
Applied jguiscale() to tooltip location.
2010-03-24 11:10:13 -03:00
David Capello
0046f35bfa
Minor modification drawing polygon outline.
2010-03-24 03:16:49 -03:00
David Capello
eb24c091df
Added "Options/PreviewFilled" configuration option to see preview in real-time of filled shapes.
2010-03-24 03:00:07 -03:00
David Capello
d4344ae348
Replaced algo_polygon() with GD library implementation.
2010-03-24 02:59:40 -03:00
David Capello
65ae558291
Preview of a filled polygon is a closed outline now.
2010-03-24 00:07:48 -03:00
David Capello
db2bbef1cd
Fixed cursors focus when jguiscale > 1.
2010-03-22 00:09:44 -03:00
David Capello
38d2c8da68
Minor modifications to state bar JM_DRAW message handler.
2010-03-21 23:47:43 -03:00
David Capello
804de112c4
Changed initial text in state bar.
2010-03-21 23:39:19 -03:00
David Capello
952a2aac4d
Fixed buttons in toolbar for jguiscale > 1.
2010-03-21 23:29:41 -03:00
David Capello
af8535d612
mini-look for buttons in file selector dialog.
2010-03-21 23:19:05 -03:00
David Capello
3f1cad8505
Added setup_mini_look() function.
2010-03-21 23:18:30 -03:00
David Capello
9031c48773
Removed unused variable in gui_setup_screen().
2010-03-21 23:16:53 -03:00
David Capello
bb4da37e51
Added mini-look to the opacity slider in the cel property dialog.
2010-03-21 22:36:17 -03:00
David Capello
4c5ea8f429
Fixed default-size for combo-box window (finally).
2010-03-21 22:35:55 -03:00
David Capello
2966863d24
Fixed SkinneableTheme::draw_bounds() for small rectangles.
2010-03-21 22:04:13 -03:00
David Capello
87ba1dba88
Removed unused functions subclip/backclip.
2010-03-21 22:03:41 -03:00
David Capello
4486ccdd29
Modified state-bar borders to match Ilija's mockup.
2010-03-21 21:31:13 -03:00
David Capello
ac8c1ecdc1
Now buttons and sliders in the state-bar have mini-look.
2010-03-21 21:30:50 -03:00
David Capello
994f5e6284
Added mini-look (SkinProperty::isMiniLook) to buttons and sliders.
2010-03-21 21:28:32 -03:00
David Capello
782d3998c5
Fixed a flicker problem when the slider of layer-opacity in the state bar were used.
2010-03-21 21:27:13 -03:00
David Capello
015a4d713c
Added SkinProperty.
2010-03-21 21:25:38 -03:00
David Capello
104d315f25
Applied guiscale to tabs widget.
2010-03-20 12:55:25 -03:00
David Capello
345dbb6fec
State-bar is double-buffered now.
2010-03-20 12:29:15 -03:00
David Capello
2658aae644
Applied jguiscale to status bar borders.
2010-03-18 21:28:55 -03:00
David Capello
c4bd51d569
Applied jguiscale to color bar.
2010-03-13 00:21:14 -02:00
David Capello
11fda53fe3
Added Editor::editor_move_cursor to avoid drawing cursor preview flickering.
2010-03-13 00:14:32 -02:00
David Capello
5ae14b550b
Added Vaca::String class.
...
Added Vaca::Exception class.
Added Vaca::System class.
Added vaca_main().
The main/WinMain is defined inside vaca library.
2010-03-12 23:16:05 -02:00
David Capello
6cad6849b5
Removed jpoint.h and jsize.h.
2010-03-11 00:45:19 -02:00
David Capello
cb1b6dc1ad
Removed <windows.h>, <commctrl.h> and <algorithm> from Vaca/base.h.
2010-03-11 00:44:12 -02:00
David Capello
33854fed54
Moved vaca lib to third_party directory.
...
Fixed a problem compiling MutexImpl for win32.
2010-03-10 16:57:38 -03:00
David Capello
5ce6b9c51b
REnamed MutexPimpl to MutexImpl.
2010-03-10 01:07:02 -02:00
David Capello
2a27405173
Added Vaca::Mutex.
...
Now Vaca is compiled as a library (.lib/.a).
Removed jmutex.cpp, jpoint.cpp, jsize.cpp.
2010-03-10 00:34:50 -02:00
David Capello
71415febe8
image_impl.h does not include allegro.h anymore
2010-03-09 00:43:49 -02:00
David Capello
c8b84732cd
Split _ji_set_font_of_all_widgets() in _ji_reinit_theme_in_all_widgets().
2010-03-09 00:43:28 -02:00
David Capello
719374718d
More jguiscale() usage.
2010-03-09 00:42:31 -02:00
David Capello
4369afa2c5
Added jwidget_set_border(JWidget,int) function.
2010-03-09 00:41:25 -02:00
David Capello
28b14cfc0a
Gui is regenerated and font is reloaded when the jguiscale() changes.
2010-03-08 23:35:32 -02:00
David Capello
3e1f0e1a63
Now the default font is loaded from the skin (skins/default_skin_font.pcx).
2010-03-08 23:34:48 -02:00
David Capello
f0cb918717
Now ji_font_load_bmp() uses ji_apply_guiscale() to resize the bitmap font.
2010-03-08 22:58:46 -02:00
David Capello
5af4ed0d55
Renamed apply_gui_scale() to ji_apply_guiscale().
2010-03-08 22:58:10 -02:00
David Capello
6e97287339
Removed conditions about JI_INITIALIZED in SkinneableTheme::init_widget().
2010-03-08 21:37:53 -02:00
David Capello
9535b085fe
Removed guiscale() from ASE and added jguiscale() in Jinete.
...
With this change we can apply jguiscale() in some places like jalert and jfiles.
2010-03-08 00:42:41 -02:00
David Capello
f1128336f4
The ConfigureScreen now shows the current screen resolution if it is not in the combo box.
2010-03-07 23:48:01 -02:00
David Capello
0a7136a0b4
Added underline_height in jdraw_text() function.
...
Removed jdraw_widget_text() (deprecated).
2010-03-07 23:16:20 -02:00
David Capello
ed3428345f
Replaced hline() with rectfill() in jrectexclude(). A lot of hlines() directly in the screen are really slow.
2010-03-07 22:49:37 -02:00
David Capello
cb97884026
- All tools stuff refactored in various files/components.
...
- Added classes: IToolLoop, Tool, ToolGroup, ToolInk, ToolController, ToolPointShape, ToolIntertwine, ToolBox, etc.
- Added ToolLoopManager.
- Removed old src/modules/tools.cpp.
- Added ISettings and UISettingsImpl, adding the tools settings (onion skinning, grid, tiled mode, etc.).
- Added App::PenSizeBeforeChange, PenSizeAfterChange, CurrentToolChange signals.
- Renamed Context::get_bg/fg_color to getBg/FgColor.
- Refactored Brush class to Pen and added PenType.
- Renamed tiled_t to TiledMode.
- get_config_rect now uses the new Rect class imported from Vaca instead of old jrect.
- Added default_skin.xml to load tool icons.
- Added pen preview in Editor::cursor stuff.
- Added Editor::decorators.
Note: This big patch is from some time ago. I did my best to pre-commit other small changes before this big one.
2010-03-07 17:47:45 -02:00
David Capello
1fdd045099
Fixed a little syntax error.
2010-03-07 16:41:40 -02:00
David Capello
470ae96c3b
Fixed some new-line issues.
2010-03-07 16:39:58 -02:00
David Capello
324435760d
Modified ase_exception creation with printf style.
2010-03-07 16:38:14 -02:00
David Capello
961b2911f5
Old JI_SIGNAL_WINDOW_CLOSE signal is not generated anymore (it was replaced with Frame::Close signal member).
2010-03-07 16:37:30 -02:00
David Capello
ca2e3f7bed
Renamed Command_precondition_exception class to CommandPreconditionException.
2010-03-07 16:21:09 -02:00
David Capello
5d55358ffb
Renamed Context::m_current_sprite to m_currentSprite.
2010-03-07 16:18:38 -02:00
David Capello
77a54b7d34
Modified ase_exception creation with printf style.
2010-03-07 16:16:10 -02:00
David Capello
6867f2c6a5
Added PopupWindow widget.
2010-03-07 16:10:48 -02:00
David Capello
7a3b1e3369
Modified an ase_exception call using printf style call.
2010-03-07 15:28:01 -02:00
David Capello
d0514884de
Fixed a problem in gui_feedback() where the CurrentSpriteReader could be locked.
2010-03-07 15:25:47 -02:00
David Capello
2ed2ce9545
Modified an ase_exception call using printf style call.
2010-03-07 15:22:14 -02:00
David Capello
5edc5696ca
Modified some ase_exception creations using PACKAGE name.
2010-03-07 15:20:50 -02:00
David Capello
65cb9c3517
Added constraint of guiscale() value depending height of the screen.
2010-03-07 15:18:39 -02:00
David Capello
6ebf5966c3
Fixed a bug which pressed/released messages were generated incorrectly for mouse buttons pressed/released in groups.
2010-03-07 15:16:15 -02:00
David Capello
1f29b67364
Applied guiscale() to some skinneable widgets.
2010-03-07 14:21:24 -02:00
David Capello
df59edc3ce
Modified "int tiled" to "bool tiled" in "dirty_new".
2010-03-07 12:17:11 -02:00
David Capello
156e3adeb3
Added 'extras' to Sprite to draw extra-stuff that is not in the Sprite (it will be useful to draw preview of the brush).
2010-03-07 12:14:25 -02:00
David Capello
e7b99eda29
Modified C *_free calls to C++ delete.
2010-03-07 12:06:37 -02:00
David Capello
7da47af726
Renamed sheet.png to defaut_skin_sheet.png. Added some temporary icons in the sheet for future tools.
2010-03-07 12:03:47 -02:00
David Capello
862ae6078c
Modified C comments to C++.
2010-03-07 11:58:10 -02:00
David Capello
2a78fdca92
Applied guiscale() to loaded skin.
2010-03-07 11:57:34 -02:00
David Capello
dc19778ecc
Added SkinneableTheme::apply_gui_scale() member function.
2010-03-07 11:55:24 -02:00
David Capello
2d3cfe116b
Removed try{}catch in DEBUGMODE to get the exception in the debugger.
2010-03-07 11:49:56 -02:00
David Capello
bb689258ff
Removed jmanager_dispatch_messages() from jwidget_scroll() because it is not necessary and it give us problems with the editor scroll movement.
2010-03-07 11:47:40 -02:00
David Capello
32f3987c64
Resort includes.
2010-03-07 11:42:00 -02:00
David Capello
0b357e068b
Added Mask::contains_point member function.
2010-03-07 11:40:54 -02:00
David Capello
36f281a2b7
Limited scroll movement (related to feature request #2874441 ).
2010-03-07 11:39:18 -02:00
David Capello
b8a39cf8db
Now clipboard::cut() deselects the mask.
2010-03-01 23:03:33 -02:00
David Capello
4f4d863a0f
Now ClearCommand deselects the mask.
2010-03-01 23:02:32 -02:00
David Capello
cc7fd95559
Added Undoable::deselect_mask() member function.
2010-03-01 23:01:43 -02:00
David Capello
c4afb1a236
Renamed get_sprite() to getSprite() in Layer class and Undoable class.
2010-03-01 22:59:16 -02:00
David Capello
898f43ff65
Need to include render.h to get RenderEngine class definition.
2010-03-01 01:08:12 -02:00
David Capello
c89b727b47
Missing RenderEngine::setPreviewImage.
2010-03-01 01:03:07 -02:00
David Capello
1e121378de
Replaced App events (IAppHook) with Vaca signals/slots.
2010-03-01 00:36:05 -02:00
David Capello
fb139ccf49
Renamed Editor::editor_get_sprite to Editor::getSprite.
2010-03-01 00:00:56 -02:00
David Capello
d8a7fbf0f0
Moved functions from util/render.h into RenderEngine class.
2010-02-28 23:29:50 -02:00
David Capello
700ab045d2
Added algo_polygon() algorithm.
2010-02-28 23:02:50 -02:00
David Capello
031c8d187b
Changing ASE name to aseprite.
2010-02-28 22:16:58 -02:00
David Capello
a8831eed86
Modified some comments to C++ style.
2010-02-28 22:09:46 -02:00
David Capello
8cfb3daee0
Removed ^L characters.
2010-02-28 21:45:52 -02:00
David Capello
b747ccdaa6
Updated copyright year to 2010
2010-02-01 21:25:40 +00:00
David Capello
43dde6ed78
Removed jxml.cpp and jxml.h
2010-02-01 00:00:29 +00:00
David Capello
96759c9c17
Converted all TRUE/FALSE to C++ true/false
2010-01-30 16:43:13 +00:00
David Capello
0c6765fb88
Modules converted to C++ classes.
2010-01-29 03:15:33 +00:00
David Capello
aac6e31e44
Added CheckArgs class.
2010-01-29 00:53:53 +00:00
David Capello
33f804213d
Added is_empty, freeze, unfreeze, add, reserve, and shrink function member of Mask class.
2010-01-27 21:16:49 +00:00
David Capello
6e93dfe4ea
Converted editor widget in a C++ class (Editor class derived from Widget).
2010-01-27 02:52:30 +00:00
David Capello
991488e59b
Fixed gcc problem with min/max macros.
2010-01-26 04:10:01 +00:00
David Capello
77c009de55
Renamed jwidget to Widget.
...
Refactored jwidget_set_text to Widget::setText (same for setFont, setEnabled, etc.).
Created "Frame" class.
Refactored "jwindow_funcname" functions to "Frame::funcname".
Renamed JWidgetPtr to FramePtr.
2010-01-26 00:38:05 +00:00
David Capello
f634a390ee
Added jpoint and jsize.
2010-01-25 22:28:39 +00:00
David Capello
4e101699ff
Added vaca_fusion directory.
2010-01-25 22:01:52 +00:00
David Capello
8f03d54562
Fixed compilation error in context.cpp
2009-12-19 17:52:21 +00:00
David Capello
017ece697f
Now XML files are loaded with tinyxml library
2009-12-16 23:24:57 +00:00
David Capello
11a094cb05
Moved app.cpp from src/core/ to src/
2009-12-11 14:53:05 +00:00
David Capello
f79ac322cb
Fixed a bug in Undoable::copy_previous_frame (using LayerImage::add_cel directly instead of Undoable::add_cel).
2009-11-23 01:25:06 +00:00
David Capello
336f3feb64
Added resizable capability (with a patched version of Allegro). It must be enabled through the special flag HAVE_RESIZE_PATCH.
2009-11-22 14:39:52 +00:00
David Capello
b585600a19
Fixed a couple of bugs:
...
+ in tabs_remove_tab selected/hot tabs are set to NULL.
+ the select_callback is called only for the hot tab (if hot is NULL, now the selected is not used anymore).
2009-11-22 14:14:06 +00:00
David Capello
50ec2cdff9
Fixed a bug in initialization of parts.
2009-11-22 14:12:25 +00:00