Lucio Andrés Illanes Albornoz
52c5f679af
Cleanup, bugfixes & C++ backend implementation.
...
1) {About,Melp?} window: switch to green on black.
2) Assets window: scroll assets list on selected item update w/ <Cursor> or on deletion.
3) Canvas window: change default brush colours to [3, -1].
4) Canvas window: copy canvas cells given transparent cells from tools.
5) Canvas window: don't disable {re,un}do during object tool usage.
6) Canvas window: don't hide cursor during {re,un}do.
7) Canvas window: draw new cells using current brush background colour on resize.
8) Canvas window: fix memory leak on cell size updating.
9) Text tool: process [\r\n] in text pasted from clipboard.
assets/audio/roar{vap0r[1-8],viking[1-5]}.wav: added.
assets/text/README.txt: updated.
assets/tools/AnsiToMiRCART.py: added (for spoke.)
assets/tools/deploy-python.sh: updated.
2019-10-24 21:14:00 +02:00
Lucio Andrés Illanes Albornoz
89c555e2fd
Various bugfixes & usability improvements.
...
1) Canvas window: clear new canvases w/ [-1, -1] by default.
2) Canvas window: don't create new canvas on initialisation.
3) Canvas window: set default brush colours to [3, 9].
4) Erase tool: correctly fill non-text cells w/ background colour.
5) GUI: correctly show current operator name in status bar whilst active.
6) GUI: {de,in}crease canvas {height,width} w/ <Ctrl> & cursor keys.
7) GUI: disable tiling items unless current tool is object tool.
8) GUI: select tool w/ <F2-F10> accelerators.
2019-10-01 21:34:42 +02:00
Lucio Andrés Illanes Albornoz
3bb4fb0197
Various bugfixes & usability improvements.
...
1) Backend: initial optimised cell rendering Python C module implementation skeleton.
2) Backend: raise alpha blending {fore,back}ground colour coefficient to {0.8,1.0 - 0.8}, resp.
3) Backend: reimplement cell rendering using Draw{Rectangle,Text}List().
4) Canvas window: eliminate {canvas,{scroll,tool}bar} flickering during resize.
5) Canvas window: fix cursor artifacts during resizing by masking cursor.
6) Canvas window: restore cursor after executing operations that remove it.
7) Import store: correctly parse non-conforming \u0003,<bg colour> sequences.
8) GUI: correctly save list of recently used files post-update.
2019-10-01 19:03:29 +02:00
Lucio Andrés Illanes Albornoz
c4e78cb241
Implements automatic snapshotting & restoring from snapshots.
2019-09-28 19:45:45 +02:00
Lucio Andrés Illanes Albornoz
404394b8a6
Various bugfixes & usability improvements.
...
1) Correctly unmask cursor and dispatch delta patches on successful {re,un}do.
2) Don't prompt to save twice on exit via Exit {accelerator,menu item}.
3) Fix cursor artifacts by always resetting origin point on DC whilst unmasking cursor cells.
4) Fix {re,un}do {accelerator,{menu,toolbar} item} desynchronisation with actual canvas journal undo level.
5) Remove scattered remnants of initial implementation of unimplemented italic support.
6) Replace rendering transparent cursor w/ manual blending over wx.GraphicsContext() due to canvas bitmap masking & performance degradation.
assets/text/TODO: updated.
2019-09-26 14:06:11 +02:00
Lucio Andrés Illanes Albornoz
7ed4d5f49d
Update canvas filename on save as.
...
libroar/RoarCanvasCommandsFile.py:{_importFile,canvasSaveAs}(): fix return values.
2019-09-24 18:09:05 +02:00
Lucio Andrés Illanes Albornoz
6a5f75719e
Increase roar window height to match default canvas size.
...
{assets/tools,lib{canvas,gui,roar,rtl,tools}}/*.py: remove Vim fold marker remnants.
2019-09-24 17:02:02 +02:00
Lucio Andrés Illanes Albornoz
1e26f4380d
Load & store LRU file dialogue directory.
...
assets/text/TODO: updated.
2019-09-24 15:10:34 +02:00
Lucio Andrés Illanes Albornoz
16ec68e845
Allow purging MRU list manually & on failure.
...
assets/text/TODO: updated.
2019-09-23 21:37:52 +02:00
Lucio Andrés Illanes Albornoz
572cbf5b49
Fix dirty flag updating on {new,open,resize}.
...
assets/text/hotkeys.txt: updated.
assets/text/TODO: updated.
2019-09-23 19:55:31 +02:00
Lucio Andrés Illanes Albornoz
f8aff213de
{assets/tools,lib{canvas,gui,roar,rtl,tools}}/*.py: fix formatting.
2019-09-23 19:21:06 +02:00
Lucio Andrés Illanes Albornoz
ced45fa0d4
Various bugfixes & usability improvements.
...
1) Add background colour toolbar beneath (foreground) colour toolbar.
2) Add colour flipping command w/ {accelerator,{menu,toolbar} item}.
3) Add {de,in}crease {brush,canvas} size accelerator.
4) Add {hide,show} assets window toolbar item.
5) Circle tool: draw outline with foreground colour.
6) Circle tool: honour transparency.
7) Fill tool: change comprehensive fill modifier key from <Shift> to <Ctrl>.
8) Fill tool: fill with {back,fore}ground colour given <[RL]MB>
9) Fix arrow keys cursor motion when scrolled down.
10 Instantly reflect {brush size,colour,tool} changes in canvas.
11) Object tool: honour transparency w/ non-external objects.
12) Object tool: update selection rectangle during <LMB> whilst dragging, set w/ release of <LMB>.
13) Rectangle tool: draw outline with foreground colour.
14) Rectangle tool: honour transparency.
15) Replace wx.ToolBar() w/ wx.lib.agw.aui.AuiToolBar() & custom wx.lib.agw.aui.AuiDefaultToolBarArt().
16) Restore scrolling position after resizing canvas.
.TODO: deleted.
assets/audio/roar{arab8,spoke11}.wav: added.
assets/text/hotkeys.txt: added to document hotkeys.
assets/text/requirements.txt, requirements.txt: moved.
assets/text/TODO: updated.
{assets/tools,lib{canvas,gui,roar,rtl,tools}}/*.py: remove Vim fold markers.
libroar/RoarCanvasCommandsFile.py:_importFile(): update wx.FileDialog() message.
libroar/RoarCanvasCommandsOperators.py:canvasOperator(): update invert colours {caption,label}.
2019-09-23 18:49:33 +02:00
Lucio Andrés Illanes Albornoz
a295d2c524
libroar/RoarCanvasCommandsFile.py:canvasSaveAs(): fix self.canvasPathName reference.
...
libroar/RoarCanvasWindow.py:applyTool(): don't dispatch cursor patch if mapPoint == None.
libroar/RoarCanvasWindow.py:applyTool(): correctly handle cursor tool.
assets/text/TODO: updated.
2019-09-16 08:05:50 +02:00
Lucio Andrés Illanes Albornoz
eda8034075
libgui/GuiFrame.py:{_init,load}Menu(): split from loadMenu(), implement nested (sub)menus.
...
libroar/RoarCanvasCommandsEdit.py: put {brush,canvas} size commands into submenu.
libroar/RoarCanvasCommandsFile.py: put {ex,im}port commands into submenu.
assets/text/TODO: updated.
2019-09-15 12:41:14 +02:00
Lucio Andrés Illanes Albornoz
31babe1994
Implements recently used {directory,files} in {assets,application} windows & file dialogues.
...
libgui/GuiFrame.py:GuiSubMenuDecorator(): added.
libgui/GuiFrame.py:loadMenus(): process submenu menu items.
libroar/RoarCanvasCommandsFile.py:{_{load,push}Recent,canvasOpenRecent}(): initial implementation.
libroar/RoarCanvasCommandsFile.py:_import{,File}(): return pathname along w/ rc.
libroar/RoarCanvasCommandsFile.py:canvas{Open,SaveAs}(): call _pushRecent() post-{open,save}.
libroar/RoarCanvasCommandsFile.py:__init__(): updated.
librtl/RtlPlatform.py: added.
librtl/RtlPlatform.py:getLocalConfPathName(): initial implementation.
roar.py: manually call _loadRecent() & _pushRecent() post-import.
assets/text/TODO: updated.
2019-09-14 15:16:57 +02:00
Lucio Andrés Illanes Albornoz
f6afcd735a
libroar/RoarAssetsWindow.py:{_importFiles, on{Load,Save}List,__init__}(): {pass,receive} lastDir {before,after} wx.FileDialog()s.
...
libroar/RoarCanvasCommandsFile.py:{_importFile,canvasExportAs{Ansi,Png},SaveAs,__init__}(): {pass,receive} lastDir {before,after} wx.FileDialog()s.
2019-09-14 11:49:08 +02:00
Lucio Andrés Illanes Albornoz
52a575cb47
libroar/RoarCanvasCommandsFile.py:canvasSave{,As}(): don't reset dirty on canvasSaveAs().
2019-09-13 21:14:11 +02:00
Lucio Andrés Illanes Albornoz
5c55c49769
libroar/RoarCanvasCommandsFile.py:_import(): handle FileNotFoundError exception.
2019-09-11 13:53:48 +02:00
Lucio Andrés Illanes Albornoz
988e6199c0
libgui/GuiFrame.py:loadAccels(): obtain from {menu,Toolbar}s[].
...
libroar/RoarCanvasCommands{,Edit,File,Help,Tools}.py: remove self.accels[].
libroar/RoarClient.py: updated.
2019-09-10 12:28:26 +02:00
Lucio Andrés Illanes Albornoz
723b1e86d0
libgui/GuiFrame.py: updated.
...
libroar/RoarCanvasCommands{,Edit,File,Help,Tools}.py: split from libroar/RoarCanvasInterface.py.
libroar/RoarCanvasWindow.py: updated.
libroar/RoarClient.py: updated.
libroar/RoarWindowAbout.py: renamed from libroar/RoarClientAboutWindow.py.
roar.py: updated.
2019-09-10 12:06:56 +02:00