📄 gtkclock_c.html
字号:
<font color=#333399>}</font>
<font color=#AA0000><b>static</b></font> <font color=#AA0000><b>void</b></font>
gtk_clock_init <font color=#333399>(</font>GtkClock <font color=#333399>*</font>clock<font color=#333399>)</font>
<font color=#333399>{</font>
<font color="#007766">/* Start the clock, refresh every 1ms */</font>
gtk_timeout_add <font color=#333399>(</font><font color="#000000"><b>1</b></font><font color=#333399>,</font> gtk_clock_construct<font color=#333399>,</font> <font color=#333399>(</font>gpointer<font color=#333399>)</font><font color=#333399>(</font>clock<font color=#333399>)</font><font color=#333399>)</font><font color=#333399>;</font>
<font color=#333399>}</font>
<font color=#AA0000><b>static</b></font> <font color=#AA0000><b>void</b></font>
gtk_clock_destroy <font color=#333399>(</font>GtkObject <font color=#333399>*</font>object<font color=#333399>)</font>
<font color=#333399>{</font>
parent_class<font color=#333399>-</font><font color=#333399>></font>destroy<font color=#333399>(</font>object<font color=#333399>)</font><font color=#333399>;</font>
<font color=#333399>}</font>
GtkWidget<font color=#333399>*</font>
gtk_clock_new<font color=#333399>(</font><font color=#AA0000><b>void</b></font><font color=#333399>)</font>
<font color=#333399>{</font>
GtkWidget <font color=#333399>*</font>clock<font color=#333399>;</font>
clock <font color=#333399>=</font> GTK_WIDGET<font color=#333399>(</font> gtk_type_new <font color=#333399>(</font> gtk_clock_get_type<font color=#333399>(</font><font color=#333399>)</font><font color=#333399>)</font><font color=#333399>)</font><font color=#333399>;</font>
<font color=#884455><b>return</b></font> clock<font color=#333399>;</font>
<font color=#333399>}</font>
<font color=#AA0000><b>static</b></font> <font color=#AA0000><b>void</b></font> gtk_clock_size_request <font color=#333399>(</font>GtkWidget <font color=#333399>*</font>widget<font color=#333399>,</font>
GtkRequisition <font color=#333399>*</font>req<font color=#333399>)</font>
<font color=#333399>{</font>
req<font color=#333399>-</font><font color=#333399>></font>width <font color=#333399>=</font> <font color="#000000"><b>200</b></font><font color=#333399>;</font> <font color=#333399>/</font><font color=#333399>/</font> Default value
req<font color=#333399>-</font><font color=#333399>></font>height <font color=#333399>=</font> <font color="#000000"><b>200</b></font><font color=#333399>;</font> <font color=#333399>/</font><font color=#333399>/</font> Default value
<font color=#333399>}</font>
<font color=#AA0000><b>static</b></font> <font color=#AA0000><b>void</b></font> gtk_clock_realize <font color=#333399>(</font>GtkWidget <font color=#333399>*</font>widget<font color=#333399>)</font>
<font color=#333399>{</font>
GtkClock <font color=#333399>*</font>darea<font color=#333399>;</font>
GdkWindowAttr attributes<font color=#333399>;</font>
gint attributes_mask<font color=#333399>;</font>
g_return_if_fail <font color=#333399>(</font>widget <font color=#333399>!</font><font color=#333399>=</font> NULL<font color=#333399>)</font><font color=#333399>;</font>
g_return_if_fail <font color=#333399>(</font>GTK_IS_CLOCK <font color=#333399>(</font>widget<font color=#333399>)</font><font color=#333399>)</font><font color=#333399>;</font>
darea <font color=#333399>=</font> GTK_CLOCK <font color=#333399>(</font>widget<font color=#333399>)</font><font color=#333399>;</font>
GTK_WIDGET_SET_FLAGS <font color=#333399>(</font>widget<font color=#333399>,</font> GTK_REALIZED<font color=#333399>)</font><font color=#333399>;</font>
attributes<font color=#333399>.</font>window_type <font color=#333399>=</font> GDK_WINDOW_CHILD<font color=#333399>;</font>
attributes<font color=#333399>.</font>x <font color=#333399>=</font> widget<font color=#333399>-</font><font color=#333399>></font>allocation<font color=#333399>.</font>x<font color=#333399>;</font>
attributes<font color=#333399>.</font>y <font color=#333399>=</font> widget<font color=#333399>-</font><font color=#333399>></font>allocation<font color=#333399>.</font>y<font color=#333399>;</font>
attributes<font color=#333399>.</font>width <font color=#333399>=</font> widget<font color=#333399>-</font><font color=#333399>></font>allocation<font color=#333399>.</font>width<font color=#333399>;</font>
attributes<font color=#333399>.</font>height <font color=#333399>=</font> widget<font color=#333399>-</font><font color=#333399>></font>allocation<font color=#333399>.</font>height<font color=#333399>;</font>
attributes<font color=#333399>.</font>wclass <font color=#333399>=</font> GDK_INPUT_OUTPUT<font color=#333399>;</font>
attributes<font color=#333399>.</font>visual <font color=#333399>=</font> gtk_widget_get_visual <font color=#333399>(</font>widget<font color=#333399>)</font><font color=#333399>;</font>
attributes<font color=#333399>.</font>colormap <font color=#333399>=</font> gtk_widget_get_colormap <font color=#333399>(</font>widget<font color=#333399>)</font><font color=#333399>;</font>
attributes<font color=#333399>.</font>event_mask <font color=#333399>=</font> gtk_widget_get_events <font color=#333399>(</font>widget<font color=#333399>)</font> <font color=#333399>|</font> GDK_EXPOSURE_MASK<font color=#333399>;</font>
attributes_mask <font color=#333399>=</font> GDK_WA_X <font color=#333399>|</font> GDK_WA_Y <font color=#333399>|</font> GDK_WA_VISUAL <font color=#333399>|</font> GDK_WA_COLORMAP<font color=#333399>;</font>
widget<font color=#333399>-</font><font color=#333399>></font>window <font color=#333399>=</font> gdk_window_new <font color=#333399>(</font>gtk_widget_get_parent_window <font color=#333399>(</font>widget<font color=#333399>)</font><font color=#333399>,</font> <font color=#333399>&</font>attributes<font color=#333399>,</font> attributes_mask<font color=#333399>)</font><font color=#333399>;</font>
gdk_window_set_user_data <font color=#333399>(</font>widget<font color=#333399>-</font><font color=#333399>></font>window<font color=#333399>,</font> darea<font color=#333399>)</font><font color=#333399>;</font>
widget<font color=#333399>-</font><font color=#333399>></font>style <font color=#333399>=</font> gtk_style_attach <font color=#333399>(</font>widget<font color=#333399>-</font><font color=#333399>></font>style<font color=#333399>,</font> widget<font color=#333399>-</font><font color=#333399>></font>window<font color=#333399>)</font><font color=#333399>;</font>
gtk_style_set_background <font color=#333399>(</font>widget<font color=#333399>-</font><font color=#333399>></font>style<font color=#333399>,</font> widget<font color=#333399>-</font><font color=#333399>></font>window<font color=#333399>,</font> GTK_STATE_NORMAL<font color=#333399>)</font><font color=#333399>;</font>
<font color=#333399>}</font>
gint
gtk_clock_construct <font color=#333399>(</font>gpointer data<font color=#333399>)</font>
<font color=#333399>{</font>
GtkClock <font color=#333399>*</font>clock <font color=#333399>=</font> data<font color=#333399>;</font>
<font color=#884455><b>if</b></font> <font color=#333399>(</font><font color=#333399>!</font>GTK_WIDGET_DRAWABLE <font color=#333399>(</font>clock<font color=#333399>)</font><font color=#333399>)</font>
<font color=#884455><b>return</b></font> <font color="#000000"><b>0</b></font><font color=#333399>;</font>
get_current_time <font color=#333399>(</font> <font color=#333399>&</font>clock<font color=#333399>-</font><font color=#333399>></font>hour<font color=#333399>,</font> <font color=#333399>&</font>clock<font color=#333399>-</font><font color=#333399>></font>min<font color=#333399>,</font> <font color=#333399>&</font>clock<font color=#333399>-</font><font color=#333399>></font>sec <font color=#333399>)</font><font color=#333399>;</font>
gtk_clock_draw <font color=#333399>(</font>GTK_WIDGET<font color=#333399>(</font>clock<font color=#333399>)</font><font color=#333399>,</font> NULL<font color=#333399>)</font><font color=#333399>;</font>
<font color=#884455><b>return</b></font> <font color="#000000"><b>1</b></font><font color=#333399>;</font>
<font color=#333399>}</font>
<font color=#AA0000><b>static</b></font> <font color=#AA0000><b>void</b></font>
gtk_clock_draw <font color=#333399>(</font>GtkWidget <font color=#333399>*</font>widget<font color=#333399>,</font> GdkRectangle <font color=#333399>*</font>area<font color=#333399>)</font>
<font color=#333399>{</font>
GtkClock <font color=#333399>*</font>clock<font color=#333399>;</font>
<font color=#AA0000><b>int</b></font> loop1<font color=#333399>;</font>
<font color=#AA0000><b>int</b></font> max_radius<font color=#333399>;</font>
<font color=#AA0000><b>int</b></font> min<font color=#333399>=</font><font color="#000000"><b>0</b></font><font color=#333399>,</font> hour<font color=#333399>=</font><font color="#000000"><b>0</b></font><font color=#333399>,</font> sec<font color=#333399>=</font><font color="#000000"><b>0</b></font><font color=#333399>;</font>
<font color=#AA0000><b>int</b></font> yc<font color=#333399>,</font> xc<font color=#333399>;</font>
<font color=#AA0000><b>int</b></font> alloc_width<font color=#333399>,</font> alloc_height<font color=#333399>;</font>
GdkColor colors[<font color="#000000"><b>4</b></font>]<font color=#333399>;</font>
GdkGC <font color=#333399>*</font>clock_gc <font color=#333399>=</font> gdk_gc_new <font color=#333399>(</font>widget<font color=#333399>-</font><font color=#333399>></font>window<font color=#333399>)</font><font color=#333399>;</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -