[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Аналог на GDK_INVERT при cairo/GTK 3
From: |
Yavor Doganov |
Subject: |
Re: Аналог на GDK_INVERT при cairo/GTK 3 |
Date: |
Tue, 12 Nov 2019 22:37:10 +0200 |
User-agent: |
Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/26 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Kaloian Doganov wrote:
> > if (canvas->action != GTK_PLOT_CANVAS_ACTION_INACTIVE && veto)
>
> Да си призная, не съумявам да проследя внимателно как GtkPlotCanvas
> менажира вътрешното си състояние. Например разбирам, че това veto е
> булева стойност, която signal handler-а може да върне, но не разбирам
> каква му е сементиката, защото не виждам къде има signal handler, който
> връща такъв резултат.
Функцията _gtkextra_signal_emit е дефинирана в gtkextra.c, в
началото. Доколкото мога да разбера кода, функцията проверява дали
сигнала е регистриран, емитира го и връща резултата от емисията.
Тоест, ако не се случи сакатлък се очаква veto да си остане TRUE.
> Навярно става дума за някаква известна на всички конвенция в GTK,
> която не съм чувал, защото нямам и хабер от GTK.
Не мисля, че е някаква конвенция.
> Между другото, как рисуваш селекцията сега с Cairo? Получаваш ли
> (нежелания) ефект на antialiasing на селекцията?
Не бях обърнал внимание, понеже и зрението ми е малко blurry
вследствие от естествен дърталясинг.
> cairo_rectangle (cr, area.x + 0.5, area.y + 0.5, area.width,
> area.height);
Да, така е по-добре и повече прилича на селекцията при GTK 2.