freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式瀏覽器開發(fā)畢業(yè)設(shè)計(jì)畢業(yè)論文(參考版)

2025-07-01 13:06本頁(yè)面
  

【正文】 partpparenttype == LAYOUT_PART_LINK) { gtk_signal_connect(GTK_OBJECT(event_box), enter_notify_event, (GtkSignalFunc)activate_text_link, drawing_area)。下面指定消息:if(partpparent amp。將drawing_area裝到盒子里。如果著急的話先把盒子放到layout上,當(dāng)然用gtk_layout_put函數(shù)。加消息的步驟通常如下,以文字的超級(jí)鏈接為例。如此這般費(fèi)神,終于可以讓線條、文字、表格、圖片得見天日,完美的展現(xiàn)在眾人面前(當(dāng)然,所有的畫與重畫的函數(shù)都要自己寫好了才行)。來(lái)將expose_event這個(gè)重畫消息,捆綁給了drawing_area控件。來(lái)將畫在drawing_area上的信息對(duì)應(yīng)的數(shù)據(jù)封裝給了drawing_area控件。下面加以闡述。接下來(lái)我們就可以使用gtk_layout_put函數(shù)將其它的允許被包含的控件放進(jìn)去,就是這么簡(jiǎn)單,那難度在哪呢?其實(shí),對(duì)于網(wǎng)頁(yè)顯示而言,能放進(jìn)去多少個(gè)按鈕、編輯框、單選框并不是最主要的,這很容易實(shí)現(xiàn),只要采用了類似layout這樣的基礎(chǔ)控件,我們?cè)瓌t上可以組合出來(lái)很多種效果。當(dāng)一個(gè)按鈕被看成是個(gè)container(容器)時(shí)(例如, 當(dāng)它被縮放時(shí)), 其類別結(jié)構(gòu)可被傳到GtkContainerClass, 而其相關(guān)的欄位被用來(lái)處理信號(hào)。 void (* leave) (GtkButton *button)。 void (* clicked) (GtkButton *button)。 void (* pressed) (GtkButton *button)。 要支撐這樣的繼承, 第一欄的資料結(jié)構(gòu)必須是其父類別的資料結(jié)構(gòu)。 只有一個(gè)這樣的結(jié)構(gòu)。 但同時(shí), 這也意味著widget 作者需要小心許多實(shí)際操作上的問題。 不過, 依然是以C來(lái)寫的。大多數(shù)的GUI平臺(tái)都提供了方便用戶進(jìn)行控件組合的機(jī)制,例如有的控件能包含其它的控件,通常稱之為container(容器),以GTK為例說明其原理。改進(jìn)措施固然,能容納百川,一觸即發(fā)的文檔視圖控件的開發(fā)是很繁重的工作,但原理卻并不復(fù)雜。但之所以目前沒有采用先進(jìn)的文檔視圖控件,是因?yàn)橐獙?shí)現(xiàn)這樣的有較強(qiáng)實(shí)用性的自畫文檔視圖控件,是需要很大的工作量的,僅GZILLA為實(shí)現(xiàn)其核心的DW文檔視圖控件,就動(dòng)用了超過7000行的代碼,比Netbit Browser目前的總代碼量還大。對(duì)比Netscape,IE的漫長(zhǎng)的開發(fā)歷史和巨大的資金投入,Netbit Browser的未來(lái)依然生死未卜??梢钥吹剑趯?duì)簡(jiǎn)單英文網(wǎng)頁(yè)的支持效果上看,Netbit Browser,已接近于成熟瀏覽器的水平,甚至優(yōu)于一些小型的嵌入式瀏覽器如GZILLA,Netfront,但在復(fù)雜頁(yè)面的顯示上還有較大的差距。以下為Netscape顯示該網(wǎng)頁(yè)的效果,Netscape默認(rèn)背景色是灰色。以下為KDE瀏覽該網(wǎng)頁(yè)的效果以下為GZILLA瀏覽該網(wǎng)頁(yè)的效果,GZILLA對(duì)字體顏色的處理比較差,只有黑色的字體。 either version 2 of the License, or (at your option) any later version./fonthrh3Design based on GTK, by sogo and ce!/h3/body/html以下為主菜單以下為工具條輸入網(wǎng)頁(yè)的URL,即可進(jìn)行訪問。 Netbit實(shí)際應(yīng)用效果及比較下圖為Netbit browser運(yùn)行時(shí)的界面,所打開的頁(yè)面源代碼如下:htmlbodyh1font color=FF00FFbNetbit Browser Version Demo/b/font/h1hrh4License/h4pfont size=4 color=0000FFThis program is not bfree software/b。 定義一個(gè)數(shù)組作為棧的存儲(chǔ)形式int current_font=0。}font_list。char size_str[15]。typedef struct _font_list{int html_element。出棧函數(shù)為void html_close_font(GtkWidget *widget,int html_element)需要注意的是由于并不是所有的font元素都指定所有的屬性,可能只指定其中的一個(gè)或一部份屬性,因此在入棧時(shí)必須做這樣的處理,即首先獲取當(dāng)前的字體屬性,根據(jù)哪些屬性發(fā)生了變化來(lái)組合新的字體屬性,然后入棧。棧式管理的主要算法詳解:void html_open_font(GtkWidget *widget,char * style_str,char *color_str,char *size_str,int html_element,int insert_to_list);該函數(shù)用于指定當(dāng)前的字體屬性,其參數(shù)包括style,color,size,以及改變字體屬性的元素的名稱,int insert_to_list用于標(biāo)記此字體屬性是否入棧,通常是入棧的。 either version 2 of the License, or (at your option) any later version./font顯示的效果應(yīng)為GNU General Public License的字號(hào)為5,顏色為FF0000,即紅色;free software應(yīng)為粗體,受首尾兩個(gè)呼應(yīng)的font標(biāo)記約束,其它字字號(hào)均為4,顏色為0000FF,由于free software只被b/b這一對(duì)加粗符號(hào)約束,所以其顏色應(yīng)受首尾的font標(biāo)記的約束,即應(yīng)為0000FF。由于font標(biāo)記允許嵌套,所以使用了棧來(lái)對(duì)font元素進(jìn)行管理,例如以下的HTML代碼:font size=4 color=0000FFThis program is not bfree software/b。其中pTtokenListtokenpData即為詞法分析分析出的標(biāo)題內(nèi)容。 } //while可以看到,這部份與語(yǔ)詞分析結(jié)合的十分緊密,利用詞法分析的結(jié)果,遍歷各元素節(jié)點(diǎn),取出其元素屬性,根據(jù)一定的布局算法來(lái)進(jìn)行布局。 ………… ………… default: ……… break。主要流程: while(pTtokenList!=NULL) {………… switch(pTtokenListtokentype) { case HTML_TITLE: ………… break。pixmap_repaint(drawing_area)。 gc = gdk_gc_new(drawing_areawindow)。 y+=16。 x=X_START。\n39。\039。 i++。 line_size+=gdk_char_width(font,str[j])。\n39。amp。通過預(yù)布局來(lái)計(jì)算頁(yè)面的長(zhǎng)度:while(iBufSize) { j=0。void a_Plain_write(GtkLayout *display,char *Buf1, gint BufSize)主要函數(shù)下面介紹一下文本顯示的算法。layout的主函數(shù),用來(lái)根據(jù)文件類型來(lái)調(diào)用HTML文件的顯示模塊或文本文件的顯示,同時(shí)初始化滾動(dòng)條。用于提供手動(dòng)重畫。來(lái)重畫。gint expose_event (GtkWidget *widget, GdkEventExpose *event)。在此函數(shù)中使用pixmap = gdk_pixmap_new(widgetwindow,width+30,height+30,1)。(3) ,元素鏈表相關(guān)(4) ,元素屬性鏈表相關(guān)(5) ,字符串處理函數(shù)因本部份是HTML文件的顯示模塊、文本文件的顯示模塊的基礎(chǔ),所以先予說明。顯示分析結(jié)果void Bit_SaveTokenResult(BitTokenContext *global_cx,char * filename)。處理元素int Token_Consum_PlainText(BitTokenContext *global_cx)。 取元素屬性void Token_ConvertIfNeed(char * aString)。 釋放內(nèi)存char *Token_ReadUntil(BitTokenContext *global_cx,char *sUntil)。 局部詞法分析void Bit_BeginToken(BitTokenContext *global_cx)。(1) ,主要的函數(shù)說明:BitTokenContext * Bit_NewContext()。刷新當(dāng)前網(wǎng)頁(yè)void a_Nav_open_splash(BrowserWindow *bw,char *str)。按URL打開一個(gè)網(wǎng)址或文件,具有對(duì)不完整URL的兼容性。顯示主頁(yè)void a_Commands_helphome_callback (GtkWidget *widget, gpointer client_data)。查看HTML源碼void a_Commands_reload_callback (GtkWidget *widget, gpointer client_data)。關(guān)閉窗口void a_Commands_exit_callback (GtkWidget *widget, gpointer client_data)。打開文件的對(duì)話框void a_Commands_openurl_callback (GtkWidget *widget, gpointer client_data)。}。 /* 指向保存詞法分析結(jié)果的數(shù)據(jù)結(jié)構(gòu) */ BitTokenContext *global_cx。 GtkWidget *openfile_dialog_window。控制模塊界面模塊PIXMAP畫圖模塊 Netbit Browser瀏覽器各部份的功能 /* 對(duì)話框widgets*/ GtkWidget *open_dialog_window。項(xiàng)目目前已完成 demo版,實(shí)現(xiàn)了基本界面,、支持本地文本文件查看,英文網(wǎng)頁(yè)瀏覽(使用菜單open file),支持簡(jiǎn)單連接,支持URL訪問,如輸入,支持字體顏色、字號(hào)等基本的元素。項(xiàng)目的目的是要建立一個(gè)小型的、快捷的web瀏覽器,并便于移植到嵌入式系統(tǒng)中。
事件與信號(hào)不是一回事 GTK的控件使用一個(gè)控件的步驟l gtk_*_new 初始化一個(gè)控件 l 綁定控件與信號(hào)及事件 l 把它包裝到一個(gè)包容器中l(wèi) 告訴GTK顯示這個(gè)控件(gtk_widget_show) 控件體系類似于MFC的類庫(kù),子類具有父類的特征,在使用時(shí)要使用類型強(qiáng)制轉(zhuǎn)換。
void gtk_signal_handler_unblock( GtkObject, guint)。
void gtk_signal_disconnect( GtkObject, gint)。 GTK的層次結(jié)構(gòu)GIMPGTK+GDKGLIBXLIB GTK的事件與信號(hào)處理GTK是一個(gè)事件驅(qū)動(dòng)的工具集,一個(gè)GTK應(yīng)用通常在gtk_main上休眠直到一個(gè)事件發(fā)生,這時(shí)控制被傳遞給合適的函數(shù)。
return(0)。
gtk_widget_show (window)。argv)。
gtk_init (amp。 GTK圖形程序開發(fā) 簡(jiǎn)介GTK (GIMP Toolkit) 起源於開發(fā)用來(lái)做為GIMP (General Image Manipulation Program)的一套工具. GTK建立在GDK (GIMP Drawing Kit)的上層, 基本上是將Xlib功能包裝起來(lái). 它被稱為GIMP toolkit是因?yàn)樗菫榱碎_發(fā)GIMP而寫的, 但現(xiàn)在被許多免費(fèi)軟體計(jì)劃所使用。
w 在處理 makefile 之前和之后,顯示工作目錄。
p 顯示 make 變量數(shù)據(jù)庫(kù)和隱含規(guī)則。
I DIR 當(dāng)包含其他 makefile 文件時(shí),可利用該選項(xiàng)指定搜索目錄。
h 顯示所有的 make 選項(xiàng)。
(4) 運(yùn)行 make
GNU make 命令還有一些其他選項(xiàng):
C DIR 在讀取 makefile 之前改變到指定的目錄 DIR。GNU make 通常稱之為變量,而其他 UNIX 的 make工具稱之為宏,實(shí)際是同一個(gè)東西。如果你要以相同的編譯選項(xiàng)同時(shí)編譯十幾個(gè) C 源文件,而為每個(gè)目標(biāo)的編譯指定冗長(zhǎng)的編譯選項(xiàng)的話,將是非常乏味的。
(3) makefile 變量GNU 的 make 工具除提供有建立目標(biāo)的基本功能之外,還有許多便于表達(dá)依賴性關(guān)系以及建立目標(biāo)的命令的特色。
這時(shí),就可以利用如下的 makefile 來(lái)定義 的創(chuàng)建規(guī)則:
:
g++ c g
一個(gè) makefile 文件中可定義多個(gè)目標(biāo),利用 make target 命令可指定要編譯的目標(biāo),如果不指定目標(biāo),則使用第一個(gè)目標(biāo)
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1