#
c6c2c042 |
|
08-Aug-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Icon-O-Matic: Add perspective transformations As part of adding perspective transformations, agg_trans_perspective.h was patched to fix a multiple definitions error. This change has been submitted for review to the "upstream" repositories at [1], [2], and [3]. Also includes various other improvements such as VertexSource being split into its own file, code style improvements, and documentation improvements. [1] https://sourceforge.net/p/agg/patches/6/ [2] https://github.com/ghaerr/agg-2.6/pull/9 [3] https://github.com/aggeom/agg-2.6/pull/7 Change-Id: I4bffd2f87354bde10155e23145a232a925be6ff3 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6801 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
405c9dc3 |
|
14-Aug-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Icon-O-Matic: Improve saving-related error messages Improves the errors that are given to the user when exporting to an HVIF file failed. Examples of errors improved include errors related to having too many shapes, too many paths, or too many points in a path. Also changes the icon shown in the alert box from an info icon to an error icon. Fixes #13978 Change-Id: I12a08e9857a95bd4d41da029320fa6f8182c3aa5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6837 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
64279352 |
|
22-Jun-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Icon-O-Matic: Generalize some classes * Turns PathContainer, ShapeContainer, StyleContainer into Container. * Makes Shape use Container for storing Tansformers instead of reinventing the wheel yet again. * Moves common logic from AddPathsCommand, AddStylesCommand, AddShapesCommand, and AddTransformersCommand to AddCommand. * Factors out common logic from two more commands similar to above. This adds the MoveCommand and RemoveCommand classes. * Cleans up some code style. Change-Id: I59eca94a1c45eac608514f269f6e5f8628f93fab Reviewed-on: https://review.haiku-os.org/c/haiku/+/6640 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
16edf24a |
|
19-Jun-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Icon-O-Matic: Remove unused dependency Change-Id: I6b511d5d8ef7de22759f6a25484754473657a11e Reviewed-on: https://review.haiku-os.org/c/haiku/+/6609 Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
098eaec6 |
|
08-Jun-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Icon-O-Matic: Add reference images Fixes #2748 Also fixes a comment misstating a function's name and code style. Change-Id: I609a1f1e100ded647818e70b428cedc48cf29036 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6604 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
2a3b385e |
|
10-May-2020 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Icon-O-Matic: replace SVG parser with nanosvg The parser was based on an old example from agg. NanoSVG is originally based on the same code, but has lots of bugfixes. So it makes sense to use it. Nanosvg revision 25241c5a8f8451d41ab1b02ab2d865b01600d949 Fixes #5955, #8586, #13021. Change-Id: I38ff9aa4e1d403c41979ebe42f7b45d4500a870c Reviewed-on: https://review.haiku-os.org/c/haiku/+/2661 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
1e60bdea |
|
30-Mar-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible.
|
#
8028ede7 |
|
15-Jan-2016 |
Rene Gollent <rene@gollent.com> |
Build: Add architecture rule for libshared.a. - As suggested by Ingo, add libshared.a to the architecture name map. This allows it to be linked by its short name like other frequently used libraries. - Adjust all Jamfiles referencing the lib accordingly.
|
#
485f5339 |
|
15-Dec-2015 |
Augustin Cavalier <waddlesplash@gmail.com> |
RWLocker: Move to kits/shared. As requested by looncraz. A lot of stuff in IOM/MediaPlayer's 'support' directories probably should be moved to 'shared' anyway.
|
#
e22a18e9 |
|
10-Jun-2015 |
Jérôme Duval <jerome.duval@gmail.com> |
Add a feature for expat. * Icon-O-Matic and Cortex are dependent on the feature. * remove expat lib from the build and from the tree. * expat package is added to regular builds.
|
#
0cbb6c11 |
|
09-May-2015 |
Stephan Aßmus <superstippi@gmx.de> |
Icon-O-Matic: Make GradientTransformable a BReferenceable * Switch to using support/Referenceable.h instead of using an older copy of this code. * Make GradientTransformable a BReferenceable and fix #12033.
|
#
220d0402 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
b0944c78 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
0ea362ab |
|
11-Feb-2011 |
Joachim Seemer <humdingerb@googlemail.com> |
* Improved ambiguous commands in Icon-O-Matic. A direction like left/right when rotating indices doesn't always make sense. Think of an "8" shape. Reordered these items to give the correct shortcut order Alt+R - Shift+Alt+R. * More localizing of strings in ActivityMonitor and Expander. * TextSearch had problems with the search button being to small if one of the translated strings for Search/Cancel get's bigger than the other. Now resizes after toggling. * FileTypes missed a file for the catalog in the Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
518852fc |
|
29-Dec-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by Dziadek: localize IconOMatic git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25dc253d |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Merged weak-symbols branch. * Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp * Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88bc5e9 |
|
19-May-2010 |
Stephan Aßmus <superstippi@gmx.de> |
When a TransformationBox is used to change the transformation of a gradient, it only ever changes one gradient at a time, and adopts itself to the current gradient transformation. When applying it's own transformation on the gradient, it could then reset and assign the transformation. On the other hand, the regular TransformObjectCommand works on a different assumption, which is that the object has it's own original transformation, and the transform box transformation is chained on top of that. So the TransformGradientBox cannot use a TransformObjectsCommand for the undo stack. Whenever such a command could not use the box to apply the transformation, it would mess up the gradient's transformation and the undo/redo chain. -> Use a dedicated TransformGradientsCommand which works the same as the TransformGradientsBox when applying the transformation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36866 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c69b5b6 |
|
19-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the libbe_test environment basically working under Haiku - to actually make it work, one would need to use versioning for all libbe symbols. This is worth an 8k price per file that links against libbe.so, so I didn't want to commit this as is. An alternative to this solution would be to write a separate application that is responsible for the app_server's window. Comments welcome. * Removed BeOS compatbility of the libbe_test stuff. * Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is now called libbe_test.so, haiku_registrar is now test_registrar, etc. * This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS compatibility should be removed, but I don't want to make Alexandre more work in his branch, and it's not urgent at all). * Replaced the former "run" scripts for the test environment with a single run script (see updated NOTES file). * Removed the libbe_test target from some applications - this was only to help developing them under BeOS, and is thus no longer necessary. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d6b4788 |
|
27-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Implemented rotating path point indices. * Improved menu items in Path list view. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31805 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3793b581 |
|
18-May-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Complete move of shared files from Icon-O-Matic sources to icon library. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30795 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f617d44 |
|
05-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix several cases of forgetting to include libstdc++ in the libs. This allows a successful build of Haiku on gcc4 Haiku, though it's presently unclear to me why this didn't prevent linking on any other platform (gcc2 haiku, and gcc2/4 cross compilers from FBSD had no issues here). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29957 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
991547ef |
|
14-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Artur Wyszynski: * Implemented BGradient, BGradientLinear, BGradientRadial, BGradientDiamond, BGradientConic and BGradientRadialFocus new Interface Kit classes. * Implemented all the (AGG-based) backend necessary in the app_server to render gradients (Painter, DrawingEngine) * app_server/View can convert a BGradient layout to screen coordinates. * Added BGradient methods of the Fill* methods in BView. * Implemented a test app and added it to the image as a demo. * Adopted Icon-O-Matic and libs/icon in order to avoid clashing with the new BGradient class. Re-use some parts where possible. Awesome work, Artur! Thanks a lot. Now a more modern looking GUI has just become much easier to implement! :-) TODO: * Remove the need to have gradient type twice in the app_server protocol. * Refactor some parts of the patch to remove duplicated code (Painter, DrawingEngine). * Adopt the BPicture protocol to know about BGradients. * Review some parts of the BArchivable implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8457f71f |
|
13-Oct-2008 |
François Revol <revol@free.fr> |
- handle color drops as a new style - handle dropped/pastes text as shapes with path (and style when with text_runs from StyledEdit) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
722f6c5c |
|
30-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Small cleanup of duplicated files. AutoLocker and AutoDeleter are already part of headers/private/shared, Icon-O-Matic used older versions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f6884761 |
|
19-Nov-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* add a new export format to get the vector icon data as C source git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22953 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1518e410 |
|
02-Jun-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* Icon-O-Matic prepends a magic number when writing native files, this way we can associate these native files with Icon-O-Matic (they also get their own mime type) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21295 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8745d98 |
|
25-May-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* added "NativeSaver" which combines the MessageExporter and AttributeSaver to save the document also as icon attribute to a native Icon-O-Matic document file * added cmd-Y short cut to main window (on a German keyboard, Y and Z are swapped, but the Undo/Redo shortcuts are still "Z" while Z is much harder to reach than Y) * fixed warning in SetColorCommand.cpp * FlatIconExporter needs to save the attribute using B_VECTOR_ICON_TYPE (of course) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21235 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c4b3726 |
|
09-Apr-2007 |
Stephan Aßmus <superstippi@gmx.de> |
culmulative update... * holding down space, or using the third mouse button, will force the "pan canvas" mode * using the mouse wheel zooms in and out * fixed issues with the undo commands when nudging something with the cursor keys * manipulators can now indicate wether they changed the mouse cursor * ChangePointCommand is no longer inserted if the point didn't change * new "flip" points feature in context menu, flips "in" and "out" curve control points * mouse wheel events are now propagated together with the mouse position * new "UndoesPrevious" method in Command interface (used to clean up command stack) * clean ups in CommandStack git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20623 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d63a05d3 |
|
17-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added support for the editing icons comming in via B_EDIT_ICON_DATA messages, doesn't load an icon yet (won't look into it within the next 10 hours... ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19311 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
774831e7 |
|
16-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
big clean up of Save and Export stuff: * implemented SavePanel that let's you chose the Export format * introduced DocumentSaver class and several implementations * Document no longer remembers any entry_refs, but a native and export document saver, for other export formats than HVIF, it is no longer necessary to go through the file panel, simply invoking Export will do * this makes it much easier to have a custom saver that sends a message with an HVIF icon to another app instead of saving to a file * cleaned up File menu * last used export format is persistent git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4fac07a0 |
|
12-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* started work on saving program settins, window frame is remembered for now * fixed some annoying bugs: - the snapping prevented some of the proximity checks from working while editing a path or using the transform box, now the Manipulators themself are responsible for mouse snapping and can do so at the time it works best for them - pressing the Esc key while using the transform box did reset the transformation, but didn't exit the transform mode (return to path editing) * improved layout of some views when the window is resized git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19266 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4bd80a2 |
|
10-Sep-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* when loading an icon via drag&drop, the file will be remembered for saving later * added "Clean Up" feature to "Path" menu * added "Freeze Transformation" to "Shape" menu (will apply the current shape transformation onto the path and reset the shape transformation to identity) * small cleanup in ShapeListView * implemented zooming in CanvasView * added context menu while editing a path * implemented undo/redo for transforming points (press T or use context menu) * added "Split Points" feature (path editing context menu), it will make two points from one control point * improved selecting path points with selection rect * improved SVG import for zuMis BeOS icons (more precise scale) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18800 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e1ba39f |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* merged Icon-O-Matic from Ingos layout branch into trunk (r18134:18685) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18686 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61b0e9e3 |
|
12-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a little bit of tracing to object destruction, since there seems to be a problem when quitting the app * added Undo/Redo commands for numerous operations - (un)assigning VectorPaths to Shapes - adding new VectorPaths - removing VectorPaths - adding Shapes - transforming Shapes - adding Styles - changing Style color * there was a mix up in classes inheriting from SimpleListView, RemoveItemList() gives a list of item pointers, not indices * GradientControl sent the focus notification to the window instead of the set BHandler target * StyleView takes care of transfering the current Style color or the focused gradient stop color to the CurrentColor object, so the current color of the SwatchGroup is synced * small improvement to layout of SwatchGroup * SwatchGroup no longer knows anything about a Style * fixed syncing the global Selection to the listview selection at least for ShapeListView * implemented cloning Shapes - added Transformer::Clone(VectorSource& source) to all Transformers - ShapeListView uses this when dropping shapes with shift pressed * updated NOTES * added Transformable::matrix_size, so that "6" isn't hardcoded everywhere (though it still is at most places) * added listener interface to TransformBox, this is used by the new TransformObjectsCommand, as long as the TransformBox still exists, the command modifies the TransformBox transformation instead of messing with the objects itself * fixed hotspot size in TransformBox by using the zoom level of the CanvasView * TransformBox rotates/scales correctly around the visible pivot * fixed TransformCommand toggling to transformation (the diff was bogus) * Gradient doesn't trigger unnecessary notifications in SetColor() * CanvasView doesn't eat keyboard events when the GradientControl or one of the ListViews has focus (is a hack currently...) * fixed bug in PropertyListView when it calls the PropertyChanged() hook: because of the notification mechanism, the Properties might be toast after the hook returns * moved all GetProperty() implementations from headers into .cpp files git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18122 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e684ccf |
|
11-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a framework for affine transformations and manipulating them - Transformable: the base class with a nice interface to agg::trans_affine - ChannelTransform: inheriting from Transformable, keeping the affine parameters separate - TransformBox: inheriting from ChannelTransform and Manipulator - TransformShapesBox: transfering the TransformBox transformation onto multiple selected Shape objects * Shape inherits from Transformable * solved an important TODO in IconRenderer: a Gradient is now transformed along with a Shape TODO: Undo/Redo for manipulating the transformation git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18099 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2205ee09 |
|
10-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added GradientControl which can edit a Gradient * filled out StyleView for configuring a Style * added SetGradientCommand for undo/redo editing a Gradient * Style::SetGradient() doesn't assume ownership of the Gradient passed in anymore git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18092 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b97f0dc |
|
09-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* editing the color of a style works now * added current color swatch view * clicking current color will open the color picker panel git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4215c452 |
|
08-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented MoveTransformersCommand (so Transformers can be drag sorted now) * implemented RemoveTransformersCommand * implemented StyleListView (I promise, this is the last list view :-) * implemented adding new styles via the Style menu * implemented selecting the Style of the currently selected Shape git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18072 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2a31283 |
|
05-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
many improvements and bug fixes: * added VertexSource::SetLast() used by PathSource to call agg::path_storage::close_polygon(). The StrokeTransformer avoids this of course. Affine and PerspectiveTransformer forward this to their source. * TransformerItems watch their transformers for notifications * made VectorPath an IconObject * VectorPath no longer uses close_polygon() when converting to agg::path_storage to allow open strokes * added IconObjectListView which inherits from PropertyListView and allows to edit the properties of the last selected object from one of the other list views * fixed a couple bugs when adopting properties: - removed the Property* in the PropertyEditorView base class, and made GetProperty() virtual, as the base class pointer was not maintained and superfluous - delete the old PropertyObject in PropertyListView::SetTo when adopting the properties instead of the object whose properties were adopted... * added SetPropertiesCommand to allow Undo/Redo on changes of properties * Style is also an IconObject now (TODO: yet another list view for styles... :-) * Style watches its Gradient for notifications and builds and caches the color array now * removed generating the color array for each scanline in IconRenderer, so the performance is improved a lot * Shape watches its Transformers for notifications in order to trigger rerendering * StrokeTransformers adds a bunch of properties like stroke width, cap and join mode * StateView keyboard filter no longer steals keydown events from BTextViews * PropertyItemViews resize with the parent * refined the interface for PropertyListView for easier tracking of the changed properties in derived classes * added HasPendingNotifications() to Observable, so that IconObjects can track changes more easily when adopting a PropertyObject * the name is now part of any IconObject git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18045 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a744b2c6 |
|
05-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Style is now responsible for generating and caching the gradient color array, it observs the gradient for this purpose * introduced IconObject class that combines Observable, Referenceable and Selectable interfaces and adds an interface for retrieving a PropertyObject that represents the object in question * Shape and Style inherit from IconObject now git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18037 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
64d80db6 |
|
04-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
added extensive "PropertyObject" framework * Property is an abstract class for representing some property with an interface for setting/getting the value and cloning the property and such stuff * PropertyObject holds a bunch of different Properties * various specific Property classes represent floats, integers, colors, booleans, options and so on * PropertyListView can edit the different properties in a given PropertyObject by using individual property editor views The plan is to be able to convert some random object (for example a selected Shape or Transformer, Style or whatever) into a PropertyObject for being edited in the PropertyListView like it is done in WonderBrush... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18036 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bab183a2 |
|
04-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Transformers have Name() now * added TransformerFactory to instantiate the various types via the GUI * added Transformer menu to main window * added TransformerListView that shows the Transformers applied to the selected Shape * implemented more powerful listener interface for Shape, used by TransformerListView git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18027 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ce8d31d |
|
30-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added MoveShapesCommand and RemoveShapesCommand * ShapeContainerListener also gets the index at which a Shape was added * ShapeListView allows to drag-sort the shapes * ShapeListView allows to remove shapes (untested) * IconRenderer is independent of StyleManager now, the order of shapes is now correct * disabled clipping for now, since clear() ignores it (clearing will be changed for a checker background anyways) * added copy constructor to Shape (needs to clone the Transformers yet) * Selectable optionally knows the global Selection, so that one could use Selectable::SetSelected() and it would add itself to the selection (not yet used) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17995 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfda5dd7 |
|
30-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* work in progress on GUI classes - added IconView which just uses an IconRenderer to display a preview of the icon at a certain size - PathListView and ShapeListView (very much work in progress) * actually had the gamma correction applied in the wrong direction... now the anti-aliasing looks as smooth as planned * added SetName() and Name() to Shape and VectorPath... will be in a common base class later on git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17988 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e5799544 |
|
23-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
beginning to check up on gui components: * added a group of controls to access and manipulate colors (incomplete) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17917 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31e20891 |
|
23-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a color picker panel (heavily modified, but originally based on Colors! by Werner Freytag) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17915 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f71eec5f |
|
21-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
added three more Transformer implementations: * AffineTransformer - affine matrix transformation * PerspectiveTransformer - perspective transformation * ContourTransformer - extending the underlying VertexSource by a certain width (like "false bold" in text rendering) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0199e126 |
|
21-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
implemented a cool vertex transformation pipeline: * VertexSource virtualizes the AGG "VertexSource" interface * Transformer is an interface for building pipelines of VertexSource objects, each taking the output of the previous object and transforming it in some way * StrokeTransformer is currently the only implementation and converts a path into an outline stroke * PathSource implements the VertexSource interface on top of a VectorPath which it converts into an agg::path_storage and into an agg::conv_curve<agg::path_storage> to get smooth bezier curves * added VertexSource() to Shape class, which returns the last object of the transformation pipeline, it uses a PathSource for the root object * changed IconRenderer to use the new polymorphic VertexSource pipeline git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3639baa4 |
|
18-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* add more classes: PathContainer - a list of VectorPath objects ShapeContainer - a list of Shape objects Icon - the object contains VectorPaths and Shapes using these paths IconRenderer - renders an Icon into a BBitmap using AGG compound shape rasterization with additional gamma correction * Shape has a PathContainer instead of a single VectorPath * Document has an Icon instance * changed the inheritance of some classes to us Referenceable more git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17873 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ebf7031 |
|
17-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented more needed classes, Style, StyleManager, Gradient, Shape * added Referenceable TODO: Shape needs list of paths instead of one single path, also transformers, and such stuff git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17867 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
128277c9 |
|
13-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
the first steps towards Icon-O-Matic * added a framework with many classes that I think will be useful * currently, the StateView and Manipulator interface are used to allow editing a single VectorPath object, nothing more... the CommandStack framework is also used to support Undo/Redo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17822 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e22a18e9f340d6acefbc1b3269efe96c9a2aba78 |
|
10-Jun-2015 |
Jérôme Duval <jerome.duval@gmail.com> |
Add a feature for expat. * Icon-O-Matic and Cortex are dependent on the feature. * remove expat lib from the build and from the tree. * expat package is added to regular builds.
|
#
0cbb6c11eec74201f566920c90ebd2c5546b7aa6 |
|
09-May-2015 |
Stephan Aßmus <superstippi@gmx.de> |
Icon-O-Matic: Make GradientTransformable a BReferenceable * Switch to using support/Referenceable.h instead of using an older copy of this code. * Make GradientTransformable a BReferenceable and fix #12033.
|
#
220d04022750f40f8bac8f01fa551211e28d04f2 |
|
31-Jul-2014 |
Oliver Tappe <zooey@hirschkaefer.de> |
Use libstdc++, libsupc++ and libgcc from gcc_syslibs. * Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so from the gcc_syslibs build feature for everything except x86_gcc2. * Use libgcc_s.so from the gcc_syslibs build feature for everything but x86_gcc2 (which still carries libgcc as part of libroot.so). * Drop filtering of libgcc objects for libroot, as that is no longer necessary since we're only using libgcc-as-single-object for libroot with x86_gcc2, where the filtered object file doesn't exist. Should the objects that used to be filtered cause any problems as part of libgcc_s.so, we can always filter them as part of the gcc build. * Use libsupc++.so from the gcc_syslibs build feature for everything but x86_gcc2. * Adjust all Jamfiles accordingly. * Deactivate building of faked libstdc++.so for non-x86-gcc2. For x86_gcc2, we still build libstdc++.so from the sources in the Haiku source tree as part of the Haiku build . * Put gcc_syslibs package onto the image, when needed.
|
#
b0944c78b074a8110bd98e060415d0e8f38a7f65 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
0ea362ab5042a7fb82871079d1a06639c7eddadf |
|
11-Feb-2011 |
Joachim Seemer <humdingerb@googlemail.com> |
* Improved ambiguous commands in Icon-O-Matic. A direction like left/right when rotating indices doesn't always make sense. Think of an "8" shape. Reordered these items to give the correct shortcut order Alt+R - Shift+Alt+R. * More localizing of strings in ActivityMonitor and Expander. * TextSearch had problems with the search button being to small if one of the translated strings for Search/Cancel get's bigger than the other. Now resizes after toggling. * FileTypes missed a file for the catalog in the Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40441 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
518852fca73d16198413de528219fcdfa6b04647 |
|
29-Dec-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Patch by Dziadek: localize IconOMatic git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40025 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
25dc253d6ab28ce204fa4de2d3e7a27d167fc817 |
|
22-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Merged weak-symbols branch. * Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp * Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88bc5e973fe56886e5cfd3c16982c2eb25d4d4e |
|
19-May-2010 |
Stephan Aßmus <superstippi@gmx.de> |
When a TransformationBox is used to change the transformation of a gradient, it only ever changes one gradient at a time, and adopts itself to the current gradient transformation. When applying it's own transformation on the gradient, it could then reset and assign the transformation. On the other hand, the regular TransformObjectCommand works on a different assumption, which is that the object has it's own original transformation, and the transform box transformation is chained on top of that. So the TransformGradientBox cannot use a TransformObjectsCommand for the undo stack. Whenever such a command could not use the box to apply the transformation, it would mess up the gradient's transformation and the undo/redo chain. -> Use a dedicated TransformGradientsCommand which works the same as the TransformGradientsBox when applying the transformation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36866 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2c69b5b6c0e7b481a0c43366a1942a6055cbb864 |
|
19-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the libbe_test environment basically working under Haiku - to actually make it work, one would need to use versioning for all libbe symbols. This is worth an 8k price per file that links against libbe.so, so I didn't want to commit this as is. An alternative to this solution would be to write a separate application that is responsible for the app_server's window. Comments welcome. * Removed BeOS compatbility of the libbe_test stuff. * Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is now called libbe_test.so, haiku_registrar is now test_registrar, etc. * This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS compatibility should be removed, but I don't want to make Alexandre more work in his branch, and it's not urgent at all). * Replaced the former "run" scripts for the test environment with a single run script (see updated NOTES file). * Removed the libbe_test target from some applications - this was only to help developing them under BeOS, and is thus no longer necessary. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8d6b4788b9c5b21998974fbef25122c8608cab47 |
|
27-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
* Implemented rotating path point indices. * Improved menu items in Path list view. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31805 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3793b581f4e5e2bab4f8c3b0076f5897d9f10841 |
|
18-May-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Complete move of shared files from Icon-O-Matic sources to icon library. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30795 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f617d447663ec1a24360875fa7c936875a3ee9b |
|
05-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
Fix several cases of forgetting to include libstdc++ in the libs. This allows a successful build of Haiku on gcc4 Haiku, though it's presently unclear to me why this didn't prevent linking on any other platform (gcc2 haiku, and gcc2/4 cross compilers from FBSD had no issues here). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29957 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
991547ef6c1fca650f0fba855206296ef54bc441 |
|
14-Oct-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Artur Wyszynski: * Implemented BGradient, BGradientLinear, BGradientRadial, BGradientDiamond, BGradientConic and BGradientRadialFocus new Interface Kit classes. * Implemented all the (AGG-based) backend necessary in the app_server to render gradients (Painter, DrawingEngine) * app_server/View can convert a BGradient layout to screen coordinates. * Added BGradient methods of the Fill* methods in BView. * Implemented a test app and added it to the image as a demo. * Adopted Icon-O-Matic and libs/icon in order to avoid clashing with the new BGradient class. Re-use some parts where possible. Awesome work, Artur! Thanks a lot. Now a more modern looking GUI has just become much easier to implement! :-) TODO: * Remove the need to have gradient type twice in the app_server protocol. * Refactor some parts of the patch to remove duplicated code (Painter, DrawingEngine). * Adopt the BPicture protocol to know about BGradients. * Review some parts of the BArchivable implementation. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8457f71f08cfc413779e81ae21be7f0d28714407 |
|
13-Oct-2008 |
François Revol <revol@free.fr> |
- handle color drops as a new style - handle dropped/pastes text as shapes with path (and style when with text_runs from StyledEdit) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28064 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
722f6c5cd0a58563da957e23ffc18e60144bb5d1 |
|
30-May-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Small cleanup of duplicated files. AutoLocker and AutoDeleter are already part of headers/private/shared, Icon-O-Matic used older versions. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25720 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f688476148e9a03699ebee673a7568f5a7cb7420 |
|
19-Nov-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* add a new export format to get the vector icon data as C source git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22953 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1518e4101b2157a4981b6b1b24530298ecb60647 |
|
02-Jun-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* Icon-O-Matic prepends a magic number when writing native files, this way we can associate these native files with Icon-O-Matic (they also get their own mime type) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21295 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8745d98e92b2e25d6a9024cecc951e9a8ed8de4 |
|
25-May-2007 |
Stephan Aßmus <superstippi@gmx.de> |
* added "NativeSaver" which combines the MessageExporter and AttributeSaver to save the document also as icon attribute to a native Icon-O-Matic document file * added cmd-Y short cut to main window (on a German keyboard, Y and Z are swapped, but the Undo/Redo shortcuts are still "Z" while Z is much harder to reach than Y) * fixed warning in SetColorCommand.cpp * FlatIconExporter needs to save the attribute using B_VECTOR_ICON_TYPE (of course) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21235 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c4b3726d9477810a630f9c0d0604a36473df559 |
|
09-Apr-2007 |
Stephan Aßmus <superstippi@gmx.de> |
culmulative update... * holding down space, or using the third mouse button, will force the "pan canvas" mode * using the mouse wheel zooms in and out * fixed issues with the undo commands when nudging something with the cursor keys * manipulators can now indicate wether they changed the mouse cursor * ChangePointCommand is no longer inserted if the point didn't change * new "flip" points feature in context menu, flips "in" and "out" curve control points * mouse wheel events are now propagated together with the mouse position * new "UndoesPrevious" method in Command interface (used to clean up command stack) * clean ups in CommandStack git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20623 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d63a05d32bce246496bf9777fcf3851a16afe235 |
|
17-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added support for the editing icons comming in via B_EDIT_ICON_DATA messages, doesn't load an icon yet (won't look into it within the next 10 hours... ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19311 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
774831e7c242f07168f07e1d804d93fe63687702 |
|
16-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
big clean up of Save and Export stuff: * implemented SavePanel that let's you chose the Export format * introduced DocumentSaver class and several implementations * Document no longer remembers any entry_refs, but a native and export document saver, for other export formats than HVIF, it is no longer necessary to go through the file panel, simply invoking Export will do * this makes it much easier to have a custom saver that sends a message with an HVIF icon to another app instead of saving to a file * cleaned up File menu * last used export format is persistent git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19307 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4fac07a0887406d944d78403f8a3b01a4e6154be |
|
12-Nov-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* started work on saving program settins, window frame is remembered for now * fixed some annoying bugs: - the snapping prevented some of the proximity checks from working while editing a path or using the transform box, now the Manipulators themself are responsible for mouse snapping and can do so at the time it works best for them - pressing the Esc key while using the transform box did reset the transformation, but didn't exit the transform mode (return to path editing) * improved layout of some views when the window is resized git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19266 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4bd80a2dcc200d939292c877b3fdadb7f3a261e |
|
10-Sep-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* when loading an icon via drag&drop, the file will be remembered for saving later * added "Clean Up" feature to "Path" menu * added "Freeze Transformation" to "Shape" menu (will apply the current shape transformation onto the path and reset the shape transformation to identity) * small cleanup in ShapeListView * implemented zooming in CanvasView * added context menu while editing a path * implemented undo/redo for transforming points (press T or use context menu) * added "Split Points" feature (path editing context menu), it will make two points from one control point * improved selecting path points with selection rect * improved SVG import for zuMis BeOS icons (more precise scale) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18800 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e1ba39f0440e200e30b6a648e70c3e8683dc5f7 |
|
29-Aug-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* merged Icon-O-Matic from Ingos layout branch into trunk (r18134:18685) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18686 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61b0e9e3149012ccbd48a10dcbc7f83600bb4769 |
|
12-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a little bit of tracing to object destruction, since there seems to be a problem when quitting the app * added Undo/Redo commands for numerous operations - (un)assigning VectorPaths to Shapes - adding new VectorPaths - removing VectorPaths - adding Shapes - transforming Shapes - adding Styles - changing Style color * there was a mix up in classes inheriting from SimpleListView, RemoveItemList() gives a list of item pointers, not indices * GradientControl sent the focus notification to the window instead of the set BHandler target * StyleView takes care of transfering the current Style color or the focused gradient stop color to the CurrentColor object, so the current color of the SwatchGroup is synced * small improvement to layout of SwatchGroup * SwatchGroup no longer knows anything about a Style * fixed syncing the global Selection to the listview selection at least for ShapeListView * implemented cloning Shapes - added Transformer::Clone(VectorSource& source) to all Transformers - ShapeListView uses this when dropping shapes with shift pressed * updated NOTES * added Transformable::matrix_size, so that "6" isn't hardcoded everywhere (though it still is at most places) * added listener interface to TransformBox, this is used by the new TransformObjectsCommand, as long as the TransformBox still exists, the command modifies the TransformBox transformation instead of messing with the objects itself * fixed hotspot size in TransformBox by using the zoom level of the CanvasView * TransformBox rotates/scales correctly around the visible pivot * fixed TransformCommand toggling to transformation (the diff was bogus) * Gradient doesn't trigger unnecessary notifications in SetColor() * CanvasView doesn't eat keyboard events when the GradientControl or one of the ListViews has focus (is a hack currently...) * fixed bug in PropertyListView when it calls the PropertyChanged() hook: because of the notification mechanism, the Properties might be toast after the hook returns * moved all GetProperty() implementations from headers into .cpp files git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18122 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0e684ccfed8462d5e8647473765eafcf970899f6 |
|
11-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a framework for affine transformations and manipulating them - Transformable: the base class with a nice interface to agg::trans_affine - ChannelTransform: inheriting from Transformable, keeping the affine parameters separate - TransformBox: inheriting from ChannelTransform and Manipulator - TransformShapesBox: transfering the TransformBox transformation onto multiple selected Shape objects * Shape inherits from Transformable * solved an important TODO in IconRenderer: a Gradient is now transformed along with a Shape TODO: Undo/Redo for manipulating the transformation git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18099 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2205ee09148c5472af4cecc2b4cc15a65d643c1d |
|
10-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added GradientControl which can edit a Gradient * filled out StyleView for configuring a Style * added SetGradientCommand for undo/redo editing a Gradient * Style::SetGradient() doesn't assume ownership of the Gradient passed in anymore git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18092 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b97f0dcafbbb89ef8f371e5138f2cebcc28304f |
|
09-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* editing the color of a style works now * added current color swatch view * clicking current color will open the color picker panel git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18076 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4215c452a4a92759e04b8c221016fea48531f1bc |
|
08-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented MoveTransformersCommand (so Transformers can be drag sorted now) * implemented RemoveTransformersCommand * implemented StyleListView (I promise, this is the last list view :-) * implemented adding new styles via the Style menu * implemented selecting the Style of the currently selected Shape git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18072 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e2a31283dde5ae5dfc14c3d2075e0d17cf392892 |
|
05-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
many improvements and bug fixes: * added VertexSource::SetLast() used by PathSource to call agg::path_storage::close_polygon(). The StrokeTransformer avoids this of course. Affine and PerspectiveTransformer forward this to their source. * TransformerItems watch their transformers for notifications * made VectorPath an IconObject * VectorPath no longer uses close_polygon() when converting to agg::path_storage to allow open strokes * added IconObjectListView which inherits from PropertyListView and allows to edit the properties of the last selected object from one of the other list views * fixed a couple bugs when adopting properties: - removed the Property* in the PropertyEditorView base class, and made GetProperty() virtual, as the base class pointer was not maintained and superfluous - delete the old PropertyObject in PropertyListView::SetTo when adopting the properties instead of the object whose properties were adopted... * added SetPropertiesCommand to allow Undo/Redo on changes of properties * Style is also an IconObject now (TODO: yet another list view for styles... :-) * Style watches its Gradient for notifications and builds and caches the color array now * removed generating the color array for each scanline in IconRenderer, so the performance is improved a lot * Shape watches its Transformers for notifications in order to trigger rerendering * StrokeTransformers adds a bunch of properties like stroke width, cap and join mode * StateView keyboard filter no longer steals keydown events from BTextViews * PropertyItemViews resize with the parent * refined the interface for PropertyListView for easier tracking of the changed properties in derived classes * added HasPendingNotifications() to Observable, so that IconObjects can track changes more easily when adopting a PropertyObject * the name is now part of any IconObject git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18045 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a744b2c60e3043bce47784a091a16e59aaf5a218 |
|
05-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Style is now responsible for generating and caching the gradient color array, it observs the gradient for this purpose * introduced IconObject class that combines Observable, Referenceable and Selectable interfaces and adds an interface for retrieving a PropertyObject that represents the object in question * Shape and Style inherit from IconObject now git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18037 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
64d80db62142884fb9317a68986efab09a52c055 |
|
04-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
added extensive "PropertyObject" framework * Property is an abstract class for representing some property with an interface for setting/getting the value and cloning the property and such stuff * PropertyObject holds a bunch of different Properties * various specific Property classes represent floats, integers, colors, booleans, options and so on * PropertyListView can edit the different properties in a given PropertyObject by using individual property editor views The plan is to be able to convert some random object (for example a selected Shape or Transformer, Style or whatever) into a PropertyObject for being edited in the PropertyListView like it is done in WonderBrush... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18036 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bab183a27305174861a27a136599b863d22318c7 |
|
04-Jul-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* Transformers have Name() now * added TransformerFactory to instantiate the various types via the GUI * added Transformer menu to main window * added TransformerListView that shows the Transformers applied to the selected Shape * implemented more powerful listener interface for Shape, used by TransformerListView git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18027 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ce8d31d0911191d25b034aa0aa4a3091dfa8c56 |
|
30-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added MoveShapesCommand and RemoveShapesCommand * ShapeContainerListener also gets the index at which a Shape was added * ShapeListView allows to drag-sort the shapes * ShapeListView allows to remove shapes (untested) * IconRenderer is independent of StyleManager now, the order of shapes is now correct * disabled clipping for now, since clear() ignores it (clearing will be changed for a checker background anyways) * added copy constructor to Shape (needs to clone the Transformers yet) * Selectable optionally knows the global Selection, so that one could use Selectable::SetSelected() and it would add itself to the selection (not yet used) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17995 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cfda5dd75bf4c1cae5b1aa808f37b59da114be26 |
|
30-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* work in progress on GUI classes - added IconView which just uses an IconRenderer to display a preview of the icon at a certain size - PathListView and ShapeListView (very much work in progress) * actually had the gamma correction applied in the wrong direction... now the anti-aliasing looks as smooth as planned * added SetName() and Name() to Shape and VectorPath... will be in a common base class later on git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17988 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e57995449d5e5a8ed659229d98274bea0d824cef |
|
23-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
beginning to check up on gui components: * added a group of controls to access and manipulate colors (incomplete) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17917 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
31e20891067fdd01ab68bc891566f070ff73ef58 |
|
23-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* added a color picker panel (heavily modified, but originally based on Colors! by Werner Freytag) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17915 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f71eec5f41e594b7964894aa6e45c7242202738e |
|
21-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
added three more Transformer implementations: * AffineTransformer - affine matrix transformation * PerspectiveTransformer - perspective transformation * ContourTransformer - extending the underlying VertexSource by a certain width (like "false bold" in text rendering) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17898 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0199e126e25c794f4a3ec7765a29a49d4bbbabcb |
|
21-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
implemented a cool vertex transformation pipeline: * VertexSource virtualizes the AGG "VertexSource" interface * Transformer is an interface for building pipelines of VertexSource objects, each taking the output of the previous object and transforming it in some way * StrokeTransformer is currently the only implementation and converts a path into an outline stroke * PathSource implements the VertexSource interface on top of a VectorPath which it converts into an agg::path_storage and into an agg::conv_curve<agg::path_storage> to get smooth bezier curves * added VertexSource() to Shape class, which returns the last object of the transformation pipeline, it uses a PathSource for the root object * changed IconRenderer to use the new polymorphic VertexSource pipeline git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3639baa4b00e8c555b5fba85800d809ca85a51bd |
|
18-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* add more classes: PathContainer - a list of VectorPath objects ShapeContainer - a list of Shape objects Icon - the object contains VectorPaths and Shapes using these paths IconRenderer - renders an Icon into a BBitmap using AGG compound shape rasterization with additional gamma correction * Shape has a PathContainer instead of a single VectorPath * Document has an Icon instance * changed the inheritance of some classes to us Referenceable more git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17873 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6ebf7031664fc040b1ccdcd35530c0706a18ae1c |
|
17-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented more needed classes, Style, StyleManager, Gradient, Shape * added Referenceable TODO: Shape needs list of paths instead of one single path, also transformers, and such stuff git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17867 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
128277c969aa806add78941cd2972754c37a1572 |
|
13-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
the first steps towards Icon-O-Matic * added a framework with many classes that I think will be useful * currently, the StateView and Manipulator interface are used to allow editing a single VectorPath object, nothing more... the CommandStack framework is also used to support Undo/Redo git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17822 a95241bf-73f2-0310-859d-f6bbb57e9c96
|