History log of /haiku-fatelf/src/kits/interface/PicturePlayer.cpp
Revision Date Author Comments
# 6c6fcaf9 20-Dec-2012 Alex Smith <alex@alex-smith.me.uk>

Some build fixes for DEBUG=1.


# e1c748e4 11-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Revert "Fixed type mismatch in picture data."

This reverts commit 81aad168f87486149f6e4ce8acc43e3e7a5de9e1.


# 81aad168 10-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed type mismatch in picture data.

The size of an operation block was written as size_t by PictureDataWriter
but read as int32 by PicturePlayer. Fixes an app_server crash.


# adffb3bd 13-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

* fixed build in DEBUG mode

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


# c8ffdabb 04-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed memcpy in case a smaller function table is provided. Improved readability of the SET_CLIPPING_RECT op block.

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


# 422fadc8 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved the dummy table local to the PicturePlayer::Play() function since,
as Marcus pointed out, having it outside wasn't thread safe. Moved
PicturePlayer into the BPrivate namespace.


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


# 9f22373b 16-Aug-2007 Jérôme Duval <korli@users.berlios.de>

fix gcc4 build


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


# bd147851 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Debug was enabled by default.


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


# 46b4e489 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added some debug output to PicturePlayer. Since checking the table size for every op is very slow, now we do that only at the beginning, and use a custom op table if needed. The best case (which is the one used when drawing a picture with BView::DrawPicture()) is very fast since it only requires one check.

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


# 253d42a6 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented SetClipping op, but it's not working yet (looks like it's
never written into the data stream)


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


# d2d3fb84 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed a no longer true TODO


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


# 796e4e45 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implement calling the exit_xxx hooks. Thanks to Marc Flerackers for the
help.


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


# 2f99607b 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

My last commit broke setting fonts in BPictures. Added a comment in
PicturePlayer to explain what we need to do. Don't write the
B_PIC_ENTER_STATE_CHANGE and B_PIC_ENTER_FONT_STATE ops until we fix the
problem (we don't care about them in our server side
implementation anyway). Font changes and state syncing work again.


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


# c00e6e3f 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implement more bpicture font methods, now PicturePlayer checks the size
of the function table, so if someone passes a smaller table, we avoid

calling invalid pointers.


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


# ed5de868 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of
nested pictures.


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


# 0b0ecfab 01-Mar-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Added "const" to many parameters.
Removed most data allocations/copying from PicturePlayer, ServerPicture now has to do this when converting coordinates.
Added additional functions to ViewLayer to copy&convert multiple BPoint, BRect, BRegion to Screen coordinates, those should be further optimized.
Removed some function call overhead.
Note: some functions of PicturePlayer don't appear to be implented by PictureDataWriter,


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


# f9e5811b 28-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

forgot this file



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


# 420fe80e 12-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved picture data writing to its own class, thus simplifying code in
various places. Implemented SetLineMode op for BPicture, fixed shape
drawing (I accidentally broke it in the previous commit).


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


# 0976f53c 09-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

and there it goes, the usual untested last minute change which breaks
the build...


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


# ab757c7a 09-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

our BPicture stream format wasn't compatible with R5 one.
Hopefully fixed all the problems. Reported by
Marc Flerackers.


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


# 34633cab 30-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

patch by Lucasz Zemczak which adds BShape drawing support to BPicture. Actually we should use a ShapeIterator subclass (like Lucasz did here) in Painter too instead of having duplicating code.

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


# 04c67ff9 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

delete -> delete[]

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


# 3ffcd64e 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

updated headers


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


# 18c8a41c 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

renamed TPicture.cpp to PicturePlayer.cpp


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


# e1c748e4c0509ffcc986faf39579c9c06179a1a6 11-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Revert "Fixed type mismatch in picture data."

This reverts commit 81aad168f87486149f6e4ce8acc43e3e7a5de9e1.


# 81aad168f87486149f6e4ce8acc43e3e7a5de9e1 10-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Fixed type mismatch in picture data.

The size of an operation block was written as size_t by PictureDataWriter
but read as int32 by PicturePlayer. Fixes an app_server crash.


# adffb3bd7f1faecf58a523d47f163898360fa445 13-Oct-2008 Oliver Tappe <zooey@hirschkaefer.de>

* fixed build in DEBUG mode

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


# c8ffdabb3586223daa2ec1522c97e6534c645cad 04-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed memcpy in case a smaller function table is provided. Improved readability of the SET_CLIPPING_RECT op block.

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


# 422fadc829581055c4776614f7cffce670e51ab6 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved the dummy table local to the PicturePlayer::Play() function since,
as Marcus pointed out, having it outside wasn't thread safe. Moved
PicturePlayer into the BPrivate namespace.


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


# 9f22373bd344b8574de9917f76a1c5d1c8e08f58 16-Aug-2007 Jérôme Duval <korli@users.berlios.de>

fix gcc4 build


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


# bd14785126221c7184280b13424f3ad68e73a470 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Debug was enabled by default.


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


# 46b4e489982de2e3ddfab11c68c714f6c1be4598 16-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added some debug output to PicturePlayer. Since checking the table size for every op is very slow, now we do that only at the beginning, and use a custom op table if needed. The best case (which is the one used when drawing a picture with BView::DrawPicture()) is very fast since it only requires one check.

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


# 253d42a602bc2ed053cf9a5f400bb95070f91da5 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented SetClipping op, but it's not working yet (looks like it's
never written into the data stream)


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


# d2d3fb84722df082b9ccc51c915731e7d48af40c 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed a no longer true TODO


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


# 796e4e4552e247113ff540017eb41035f8c70d14 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implement calling the exit_xxx hooks. Thanks to Marc Flerackers for the
help.


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


# 2f99607b779eddb4150a74aa25259a288d1b9c80 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

My last commit broke setting fonts in BPictures. Added a comment in
PicturePlayer to explain what we need to do. Don't write the
B_PIC_ENTER_STATE_CHANGE and B_PIC_ENTER_FONT_STATE ops until we fix the
problem (we don't care about them in our server side
implementation anyway). Font changes and state syncing work again.


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


# c00e6e3f897ae0aae682a970906e2bed17b9e7af 14-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implement more bpicture font methods, now PicturePlayer checks the size
of the function table, so if someone passes a smaller table, we avoid

calling invalid pointers.


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


# ed5de868df775fceddb5abedec7eab9bd5147d51 13-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of
nested pictures.


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


# 0b0ecfab9004dab03fc2cdc6b0d1bc01fd4336af 01-Mar-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Added "const" to many parameters.
Removed most data allocations/copying from PicturePlayer, ServerPicture now has to do this when converting coordinates.
Added additional functions to ViewLayer to copy&convert multiple BPoint, BRect, BRegion to Screen coordinates, those should be further optimized.
Removed some function call overhead.
Note: some functions of PicturePlayer don't appear to be implented by PictureDataWriter,


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


# f9e5811b92c80c6a9fbe557459d087728121191d 28-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

forgot this file



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


# 420fe80e5c3dc9765da5343c511071d63bcb81cb 12-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved picture data writing to its own class, thus simplifying code in
various places. Implemented SetLineMode op for BPicture, fixed shape
drawing (I accidentally broke it in the previous commit).


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


# 0976f53cef94af04b311cbc0c1aa07c17baab5c2 09-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

and there it goes, the usual untested last minute change which breaks
the build...


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


# ab757c7a3ad45bf6112c913a3fec935bb58899dd 09-Nov-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

our BPicture stream format wasn't compatible with R5 one.
Hopefully fixed all the problems. Reported by
Marc Flerackers.


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


# 34633cab94673896f8a528bcabf282bac5a4c30e 30-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

patch by Lucasz Zemczak which adds BShape drawing support to BPicture. Actually we should use a ShapeIterator subclass (like Lucasz did here) in Painter too instead of having duplicating code.

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


# 04c67ff9bfe699adf255ece46900cdcffc888ae7 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

delete -> delete[]

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


# 3ffcd64e5ce81ba5df01145f4311e41d509b5eb1 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

updated headers


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


# 18c8a41cc1a30b67347ebc8b9a55221ef8646f1f 23-Oct-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

renamed TPicture.cpp to PicturePlayer.cpp


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