Time of Update: 2018-12-03
GtkDrawingArea是一個用來進行繪圖的元件,繪圖的時候,是將之繪製在window成員上,在繪圖時要處理的事件有: realize:元件被初始時configure_event:元件尺寸改變時expose_event:元件需要重繪時 要在GtkDrawingArea上繪圖,完整的函式內容可以參考 Drawing
Time of Update: 2018-12-03
為了易用與可攜性,GLib定義了一些基本資料型態,例如在C語言中,並沒有定義布林數型態,而在GLib中則定義了gboolean這個型態,可以設定TRUE或FALSE值,這些型態基本上是使用typedef來定義:typedef gint gboolean;
Time of Update: 2018-12-03
要撰寫一個可以跨平台的程式(無論是要重新編譯或基於虛擬機器即時執行),與環境相關的資訊如何設定與取得是必須解決的,例如使用者家(home)路徑、暫存路徑、主機資訊等,這些相關資訊,可以使用GLib的 Miscellaneous Utility Functions 中所提供的函式來取得。 以下的範常式式示範了幾個環境資訊的取得,以及環境變數的取得與設定:environment_info_demo.c#include <glib.h>int main(int argc, char
Time of Update: 2018-12-03
GTimer是個計時器,當您需要量測兩個執行時間點的間隔時就可以使用,例如程式執行的開始與結束時間,您可以使用g_timer_new()建立一個新的GTimer,若不再需要時則使用g_timer_destroy()加以毀棄。在g_timer_new()之後,會自動標示啟動時間,您也可以使用g_timer_start()再度標示啟動時間,並於g_timer_elapsed()被呼叫時,傳回自啟動後的時間。若使用g_timer_start()標示啟動時間,並使用g_timer_end()標示結束時間
Time of Update: 2018-12-03
程式中不免會出現錯誤,當錯誤發生時,您可以使用printf()或是g_print()在主控台(Console)顯示訊息給使用者,如果是在視窗程式中,可能是使用訊息方塊,您也可能想針對某個層級的訊息作個別處理,例如儲存在log檔案之中,在GLib中,您可以使用 Message Logging 中所介紹的函式來進行日誌功能。要進行日誌,首先最基本的就是使用g_log()函式:void g_log(const gchar *log_domain, GLogLevelFlags
Time of Update: 2018-12-03
對於兩個正整數 x, n 總存在整數 q, r 使得x = nq + r, 其中 0<= r <n //最小非負剩餘q, r 是唯一確定的。q = [x/n], r = x - n[x/n]. 這個是帶餘除法的一個簡單形式。在 c 語言中, q, r 容易計算出來: q = x/n, r = x % n.所謂把 x 按 n 對齊指的是:若 r=0, 取 qn, 若 r>0, 取 (q+1)n. 這也相當於把 x 表示為:x = nq + r'
Time of Update: 2018-12-03
#include <stdio.h>#include <string.h>#include <stdlib.h>#include "nano-X.h"#include "nxcolors.h"GR_WINDOW_ID wid;GR_GC_ID gc;int j=0;int x=0;int y=0;void event_handler (GR_EVENT *event);int main (void){ if (GrOpen() <
Time of Update: 2018-12-03
OpenGL 資源彙編 作者: 劉鵬 日期: 2009-07-21 本文收集和匯總了
Time of Update: 2018-12-03
/*Nano-X文字螺旋顯示程式*/#include <stdio.h>#include <stdlib.h>#define MWINCLUDECOLORS#include "microwin/nano-X.h"GR_WINDOW_ID wid;GR_GC_ID gc;GR_FONT_ID font[9];/*存放不同角度的文字角度,大小資訊*/int j=0;void event_handler(GR_EVENT *event);int main(void){int
Time of Update: 2018-12-03
#include <stdio.h>#include <string.h>#include <stdlib.h>#include "nano-X.h"#include "nxcolors.h"GR_WINDOW_ID wid;GR_GC_ID gc;int j=0;int x=0;int y=0;void event_handler (GR_EVENT *event);int main (void){ if (GrOpen() <
Time of Update: 2018-12-03
GtkArrow是個很方便的元件,可以讓您畫出上、下、左、右方向的箭頭,您可以把它放到按鈕之類的元件上顯示箭頭,例如: gtkarrow_demo.c#include <gtk/gtk.h>GtkWidget *create_gtk_arrow(GtkArrowType arrow_type,GtkShadowType shadow_type) { GtkWidget *arrow; GtkWidget *button; arrow =
Time of Update: 2018-12-03
Nano-X 程式設計, #1:介紹與安裝 jollen 發表於 August 11, 2004 10:56 AM本篇首先要簡單說明一下 Microwindows 的基本概念與架構,然後再說明讓 Microwindows 支援 X11的編譯方式,最後則是一個 Hello World 的程式。一開始我們會先在 X 上發展 Microwindows的程式,在之後的專欄裡我們會適時將發展環境移到 Embedded Linux 系統。作者:
Time of Update: 2018-12-03
#include <stdio.h> #include "nano-X.h" #include "nxcolors.h" int main() { GR_WINDOW_ID root_wid, wid; GR_WINDOW_ID child; GR_WINDOW_ID sibling; GR_GC_ID gc; GR_COORD x, y; GR_SIZE width, height; GR_EVENT event;
Time of Update: 2018-12-03
GtkRuler可以是一個垂直或水平外觀的尺規元件,您可以設定它的上下界,也可以讓它上面的遊標跟隨滑鼠的移動,您可以使用gtk_hruler_new()或gtk_vruler_new()來建立水平或垂直尺規元件,使用gtk_ruler_set_metric()可以設定度量單位,可以設定的值有GTK_PIXELS(像素)、GTK_INCHES(英吋)、GTK_CENTIMETERS(公釐)。您可以設定GtkRuler的範圍:void gtk_ruler_set_range(GtkRuler
Time of Update: 2018-12-03
Nano-X 程式設計, #2:「Hello World」 jollen 發表於 April 26, 2004 8:10 PM 說在前頭Jollen: 對於「學習」這擋事,其實我有很多自己的想法。以「學程式庫」來講,我的看法是...學習任何一套程式庫或
Time of Update: 2018-12-03
繪圖區構件和繪圖現在,我們開始向螢幕繪圖。我們使用的構件是繪圖區構件。一個繪圖區構件本質上是一個 X 視窗,沒有其它的東西。它是一個空白的畫布,我們可以在其上繪製需要的東西。一個繪圖區構件用如下函數建立:GtkWidget* gtk_drawing_area_new (void);用如下函數設定構件的預設大小:void gtk_drawing_area_size (GtkDrawingArea *darea,gint
Time of Update: 2018-12-03
在應用程式安裝或是使用者註冊、設定時,可以提供使用者「精靈」(Wizard)進行一些選項設定與資訊填寫,在Step by
Time of Update: 2018-12-03
Model-View-Controller PatternModel-View-Controller (MVC) is a classic design pattern often used by applications that need the ability to maintain multiple views of the same data. The MVC pattern hinges on a clean separation of objects into one of
Time of Update: 2018-12-03
GtkCalendar是個可以顯示月曆的元件,只要使用gtk_window_new()建立元件,就可以擁有一個完整的日曆元件顯示,若要設定日期,則可以使用gtk_calendar_select_month()設定年及月份,使用gtk_calendar_select_day()設定日。使用gtk_calendar_select_month()設定時要注意的是,月份可設定的數值是從0到11,0表示1月,11表示12月,而使用gtk_calendar_select_day()設定值則為1到31,或是設
Time of Update: 2018-12-03
如果您要定時讓程式去作某件事,則可以使用g_timeout_add()或g_timeout_add_full(),g_timeout_add()的定義如下:guint g_timeout_add(guint interval, GSourceFuncfunction, gpointerdata);第一個參數是時間間隔,以毫秒為單位,第二個參數是時間到的回呼函式,第三個參數是傳給回呼函式的資料,以 內建 Signal