История изменений
Исправление
EXL,
(текущая версия)
:
GTK, по-моему, с третьей уже бэкендом использует Cairo
В GTK+2 тоже использовался Cairo с какой-то версии, а вот в GTK+1 был более продвинутый GDK (не в плане технологии, а в плане наличия в нём функций рисования примитивов, позже из GDK всё это уберут), через который можно было рисовать как-то вот так:
gdk_gc_set_foreground(gc, &tileColor);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset, rect, rect, -64*180, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset, rect, rect, 64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset + w + rad, rect, rect, -64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset + w + rad, rect, rect, 0, -64*90);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset, yOffset + qw, TILE_SIZE + 1, rw);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset + qw, yOffset, rw, TILE_SIZE + 1);
И кстати иксовые ресурсы, например, те же шрифты, он поддерживал из коробки:
GdkFont *font = gdk_font_load("-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1");
Интересно, «транслировались» ли эти функции gdk_draw_X() в иксовые XDrawX(), вполне возможно тогда там и сетевая прозрачность была совсем другого уровня.
Исправление
EXL,
:
GTK, по-моему, с третьей уже бэкендом использует Cairo
В GTK+2 тоже использовался Cairo с какой-то версии, а вот в GTK+1 был более продвинутый GDK (не в плане технологии, а в плане наличия в нём функция рисования примитивов, позже из GDK всё это уберут), через который можно было рисовать как-то вот так:
gdk_gc_set_foreground(gc, &tileColor);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset, rect, rect, -64*180, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset, rect, rect, 64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset + w + rad, rect, rect, -64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset + w + rad, rect, rect, 0, -64*90);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset, yOffset + qw, TILE_SIZE + 1, rw);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset + qw, yOffset, rw, TILE_SIZE + 1);
И кстати иксовые ресурсы, например, те же шрифты, он поддерживал из коробки:
GdkFont *font = gdk_font_load("-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1");
Исправление
EXL,
:
GTK, по-моему, с третьей уже бэкендом использует Cairo
В GTK+2 тоже использовался Cairo с какой-то версии, а вот в GTK+1 был более продвинутый GDK, через который можно было рисовать как-то вот так:
gdk_gc_set_foreground(gc, &tileColor);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset, rect, rect, -64*180, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset, rect, rect, 64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset + w + rad, rect, rect, -64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset + w + rad, rect, rect, 0, -64*90);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset, yOffset + qw, TILE_SIZE + 1, rw);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset + qw, yOffset, rw, TILE_SIZE + 1);
И кстати иксовые ресурсы, например, те же шрифты, он поддерживал из коробки:
GdkFont *font = gdk_font_load("-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1");
Исходная версия
EXL,
:
GTK, по-моему, с третьей уже бэкендом использует Cairo
В GTK+2 тоже использовался Cairo с какой-то версии, а вот в GTK+1 был более продвинутый GDK, через который можно было рисовать как-то вот так:
gdk_gc_set_foreground(gc, &tileColor);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset, rect, rect, -64*180, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset, rect, rect, 64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset, yOffset + w + rad, rect, rect, -64*90, -64*90);
gdk_draw_arc(widget->window, gc, TRUE, xOffset + w + rad, yOffset + w + rad, rect, rect, 0, -64*90);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset, yOffset + qw, TILE_SIZE + 1, rw);
gdk_draw_rectangle(widget->window, gc, TRUE, xOffset + qw, yOffset, rw, TILE_SIZE + 1);
И кстати иксовые ресурсы, например, те же шрифты, он поддерживал из коробки:
GdkFont *font = gdk_font_load("-adobe-helvetica-medium-r-normal--20-140-100-100-p-100-iso8859-1");