History log of /haiku/src/libs/icon/shape/Shape.h
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>


# c5abd6a7 18-Jul-2023 Zardshard <0azrune6@zard.anonaddy.com>

libicon: Notify Shape on transformer addition/removal

hrev57144 accidentally made Shape be notified only if the library was
compiled for Icon-O-Matic.
Also includes some miscellanious improvements.

Fixes #18510

Change-Id: Ie4ae7f9b8b1a5b39f87db2dbf79064fa875b644c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6705
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


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


# 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


# 8b8d44bf 18-May-2009 Michael Lotz <mmlr@mlotz.ch>

Enable just enough of the message based format used in Icon-O-Matic to allow
BIconUtils to understand and render it. This makes it possible to use the
HVIFTranslator to also read Icon-O-Matic files out of the box. Will cleanup
now duplicated files next.


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


# 12a257d7 09-Dec-2007 Stephan Aßmus <superstippi@gmx.de>

* make sure that the ApproximationScale() implementation of any Transformer
not negative
* PathSource can now remember a global scale, and the IconRenderer sets
it, since this value is used in the curve converter for on the fly
generation of vertices, this change does not affect anything and doesn't
create the need to "update" the conversion pipeline to render an icon at
different sizes (like Icon-O-Matic does)

-> this change fixes edgy curves on icons rendered bigger than 64x64 as
reported by Axel some time ago


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


# 325a6253 02-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

* Put the remaining libicon.a classes into the BPrivate::Icon namespace.
* Minor cleanup (like removing the extra blank line between the copyright and the
header guard).


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


# 84db3be8 31-Mar-2007 Stephan Aßmus <superstippi@gmx.de>

* put Transformable class into BPrivate::Icon namespace, which
solves the problem that app_server uses the wrong version of
the class
* TODO: put all the other classes into this namespace as well,
I'm just eager to close this crucial bug, which Ingo kindly
tracked down

[darn, this commit stalled before, and I commited the next step
already from another Terminal...]


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20481 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


# 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


# 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


# 8b8d44bfccf4d07e51069e68eeef1c0b711cb0ef 18-May-2009 Michael Lotz <mmlr@mlotz.ch>

Enable just enough of the message based format used in Icon-O-Matic to allow
BIconUtils to understand and render it. This makes it possible to use the
HVIFTranslator to also read Icon-O-Matic files out of the box. Will cleanup
now duplicated files next.


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


# 12a257d7f8da26b16637f34a73f8135e6da4d983 09-Dec-2007 Stephan Aßmus <superstippi@gmx.de>

* make sure that the ApproximationScale() implementation of any Transformer
not negative
* PathSource can now remember a global scale, and the IconRenderer sets
it, since this value is used in the curve converter for on the fly
generation of vertices, this change does not affect anything and doesn't
create the need to "update" the conversion pipeline to render an icon at
different sizes (like Icon-O-Matic does)

-> this change fixes edgy curves on icons rendered bigger than 64x64 as
reported by Axel some time ago


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


# 325a6253ceb7c4162df2805f7aabc2a119c93534 02-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

* Put the remaining libicon.a classes into the BPrivate::Icon namespace.
* Minor cleanup (like removing the extra blank line between the copyright and the
header guard).


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


# 84db3be8a91cba8aec9f266a1c7f8486732c25aa 31-Mar-2007 Stephan Aßmus <superstippi@gmx.de>

* put Transformable class into BPrivate::Icon namespace, which
solves the problem that app_server uses the wrong version of
the class
* TODO: put all the other classes into this namespace as well,
I'm just eager to close this crucial bug, which Ingo kindly
tracked down

[darn, this commit stalled before, and I commited the next step
already from another Terminal...]


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20481 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


# 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