[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: gdtk_draw_text deprecated , what use instead of it ?
- From: Paul Pogonyshev <pogonyshev gmx net>
- To: gtk-app-devel-list gnome org
- Subject: Re: gdtk_draw_text deprecated , what use instead of it ?
- Date: Wed, 31 Dec 2003 17:37:14 +0000
Olexiy Avramchenko wrote:
> Paul Pogonyshev wrote:
> >iain wrote:
> >>On Tue, 2003-12-30 at 23:31 +0000, Paul Pogonyshev wrote:
> >>> while
> >>>gives absolutely no advantages over gdk_draw_text() (because labels are
> >>>guaranteed to be in ascii and short).
> >>
> >>Apart from being antialiased and use decent fonts you mean.
> >>
> >>Not speaking as a GTK developer I don't think the gdk_draw_text stuff is
> >>coming back.
> >
> >gdk_draw_text() is not antialiased? I'm taking my comment back.
> >
> >But seriously, don't you think layouts are too complicated and overkill
> >for some problems to make them mandatory? Maybe there should be a
> >light-weight gdk_draw_<something-else>() which would be antialiased
> >and use Pango fonts, but more like gdk_draw_text() in respect of
> >position parameters?
>
> Looks like you dont know about gdk_draw_layout() function:
> http://developer.gnome.org/doc/API/2.0/gdk/gdk-Drawing-Primitives.html#gdk-draw-layout
> http://developer.gnome.org/doc/API/2.0/gdk/gdk-Drawing-Primitives.html#gdk-draw-layout-with-colors
>
> Layouts usage in G?K (in the way of just displaying some text with
> selected font) is as easy as old scheme. If you dont need extra
> functionality that layouts give - dont use it, if you want use it but
> dont want to learn some docs and code - use Pango Markup:
> http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html
I did know about gdk_draw_layout() i rather did not know about that layout
could be "simple" in that sense it could be just be a string of text.
This is a problem of the references to a large extent, which have mainly
functions prototypes with three-word-comments and not enough descriptions
of the objects themselves.
> When performance issues becomes a problem for the specific application
> you should consider to use platform-depended low-level text drawing
> functions because they're fastest and you have a full control on what is
> going on. If you want to have portable and fine-looking application -
> you forced to use pango stuff. How, for example, you'll explain the
> windows-user what XLFD is (you have to use XLFD for font-handling for
> gdk_draw_text) ?
Why would i need to explain anything to user? Ideally, i'd call
gdk_draw_<something>(..., x, y, "a");
to draw a letter "a" at point (x, y). GTK+ is already compiled for a
certain platform, so it would internally call the appropriate platform
function for "the real action". Regarding performance, it would only
waste time on 1--3 function calls, nothing else.
The point is that i can move font handling out of the drawing loops
and use anything for it, including Pango -- font handling is done much
more rare than drawing and i don't care about its influence on
performance. On the other hand, i cannot move layouts out of drawing
loops with the current drawing scheme (unless i'm willing to keep
dozens of them with each widget), even if i don't need them at all.
gdk_draw_layout() uses some internal algorithm to handle lines of text,
markup and all other wonders. gdk_draw_<something>() could have used
a shortcut of that algorithm, assuming only one line, no markup and
providing no other wonders. That is, it could be gdk_draw_layout()
reduced to pushing font, selected with Pango, onto system-specific
level.
gdk_draw_glyphs() is probably intended to do this, but i don't see any
nice interface of creating a glyph string (apart from doing with a
layout).
Paul
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]