gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: [Gnash-dev] Questions about trapezoids, triangle stripper etc.


From: Udo Giacomozzi
Subject: Re[2]: [Gnash-dev] Questions about trapezoids, triangle stripper etc.
Date: Mon, 2 Oct 2006 14:49:44 +0200

Hello strk,

Monday, October 2, 2006, 2:07:02 PM, you wrote:
s> texture_glyph::is_renderable() is implemented as m_bitmap_info!=NULL.
s> and the texture_glyph class exposes a set_bitmap_info() function.

Hmm. In the current AGG backend create_bitmap_info_xxxxx returns
always NULL and thus is_renderable() returns always false. So I can't
test any SWF which uses fonts. However, when playing car_smash.swf I
get this error sometimes, while most of the time it works...


s> So, if I understand your plan correctly, in order to fix this I should,
s> whenever texture_glyph::m_bitmap_info is NULL, call the renderer
s> to create it and cache it back to textur_glyph, correct ?

No, I thought about removing bitmaps from fontlib completely. When
drawing a glyph, a renderer method is called that just gets the glyph
*definition* and the transformation matrix. Since a glyph is basically
a character / a shape it can be rendered exactly the same way. So when
the renderer decides to use a bitmap to cache the glyph, this happens
completely inside the renderer.

If you look at server/text.cpp:167 you see that, when no bitmap
(texture) is available, the glyph is rendered via
shape_character_def::display()

So, the renderer would not even have to distinguish between text and
graphics and the cache mechanism would work for both automatically.

BTW, since tg.is_renderable() is called at that place too, I wonder
why there even is this error message you want to get rid off. Have you
tried to comment it out? Maybe it works straight out of the box
because it does simply not use it...

Udo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]