History log of /haiku/src/libs/icon/flat_icon/FlatIconImporter.cpp
Revision Date Author Comments
# 36830615 24-Aug-2023 Zardshard <0azrune6@zard.anonaddy.com>

Icon-O-Matic: Remove "using namespace" from header

Putting a "using namespace" statement (_USING_ICON_NAMESPACE in this
case) in a header file causes all source files that include that
header to use that namespace, regardless of whether they actually
wanted to.

Change-Id: I3ebf4ea3366f5f2b9068e3da88f40a7b4d98fd6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6897
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 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>


# 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>


# 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>


# 9bf9ee38 12-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace and style cleanup only.


# 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


# 1a948d74 17-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

Return better error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f953b71 13-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* min/max visibility scale is now between 0 and 4
* flat icon format optimizes for grays in styles


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18508 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 014c7e94 07-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* Transformable::Reset() + Invert() didn't notify
* Path and StyleContainer take an index in Add...()
* FlatIconImporter works when "appending" another icon


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18448 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 70f4b8c0 05-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* cleanup for consistency in FlatIconFormat.h
* used Axels proposals for vector icon attribute name
* added a BIconUtils class, currently only dealing with vector icons,
it will render a vector icon from either a BNode attribute or a flat
buffer in memory into a provided bitmap. The bitmap needs to be of
B_RGBA32 colorspace, the size of the bitmap determines the scaling
of the vector icon, width and height should currently be the same
(square bitmap)
* TODO:
- add reading of "old" BeOS icons / move icon reading from other
places (BMimeType?) into BIconUtils
- add reading icons from resources?
- suggestions?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18400 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fb07ece0 04-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* moved all the classes actually needed for reading a
vector icon to this place, #ifdef'd out all the editing
features (listening, referencing, converting to
PropertyObject... etc)
* TODO: put into BPrivate namespace...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18396 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9bf9ee3806866886516cbe7b37dea5f8985c7186 12-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace and style cleanup only.


# 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


# 1a948d749b39e70000afb011e02a59ee595aee1f 17-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

Return better error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19319 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f953b71af24542ddd2f510ec45dec7f7e9cdace 13-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* min/max visibility scale is now between 0 and 4
* flat icon format optimizes for grays in styles


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18508 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 014c7e945947976817a8b14d4b4f89563f769f1a 07-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* Transformable::Reset() + Invert() didn't notify
* Path and StyleContainer take an index in Add...()
* FlatIconImporter works when "appending" another icon


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18448 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 70f4b8c0aeaaed5485482404a81e44c6bbe15f70 05-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* cleanup for consistency in FlatIconFormat.h
* used Axels proposals for vector icon attribute name
* added a BIconUtils class, currently only dealing with vector icons,
it will render a vector icon from either a BNode attribute or a flat
buffer in memory into a provided bitmap. The bitmap needs to be of
B_RGBA32 colorspace, the size of the bitmap determines the scaling
of the vector icon, width and height should currently be the same
(square bitmap)
* TODO:
- add reading of "old" BeOS icons / move icon reading from other
places (BMimeType?) into BIconUtils
- add reading icons from resources?
- suggestions?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18400 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fb07ece069b8b7ca52eda06449ce2f0460b294ab 04-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* moved all the classes actually needed for reading a
vector icon to this place, #ifdef'd out all the editing
features (listening, referencing, converting to
PropertyObject... etc)
* TODO: put into BPrivate namespace...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18396 a95241bf-73f2-0310-859d-f6bbb57e9c96