OpenGL的GLUT事件處理(Event Processing)視窗管理(Window Management)函數[轉]

來源:互聯網
上載者:User

標籤:

GLUT事件處理(Event Processing)視窗管理(Window Management)函數

 

void glutMainLoop(void)

     讓glut程式進入事件迴圈。在一個glut程式中最多隻能調用一次。一旦調用,會直到程式結束才返回。

int glutCreateWindow(char* name);

    產生一個頂層的視窗。name 作為視窗的名字,也就是視窗標題列顯示的內容。

    傳回值是產生視窗的標記符,可用函數glutGetWindow()加以引用。

int glutCreateSubWindow(int win,int x,int y,int width,int height);

     建立一個子視窗。win是其父視窗的標記符。x,y是相對父視窗的位移,以像素表示。

width,height是子視窗的寬和高。

void glutSetWindow(int win);
int glutGetWindow(void);

     功能分別是:設定標記符為win的視窗為當前視窗;返回當前視窗的標記符。

void glutDestroyWindow(int win);

     銷毀以win標記的視窗。

void glutPostRedisplay(void);

     將當前視窗打上標記,標記其需要再次顯示。

void glutSwapBuffers(void);

 當視窗模式為雙緩衝時,此函數的功能就是把後台緩衝的內容交換到前台顯示。當然,只有單緩        存時,使用它的功能跟用glFlush()一樣。

   而使用雙緩衝是為了把完整圖畫一次性顯示在視窗上,或者是為了實現動畫。

void glutPositionWindow(int x,int y);

改變當前視窗的位置:當前視窗是頂層視窗時,x,y是相對於螢幕的的位移;當前視窗若是子視窗時,x,y是相對其父視窗原點的位移。

void glutReshapeWindow(int width,int height);

改變當前視窗的大小。

width,height是當前視窗新的寬度和高度值,當然只能是正值。

void glutFullscreen(void);

讓當前視窗全螢幕顯示。當前視窗是頂層視窗時才有效。

void glutPopWindow(void);
void glutPushWindow(void);

對頂層視窗和子視窗均有效。改變當前視窗在棧中相對於其它視窗的次序。

void glutShowWindow(void);
void glutHideWindow(void);
void glutIconifyWindow(void);

這三個函數作用是改變當前視窗的顯示狀態。

  • glutShowWindow讓當前視窗可視(這時它還是可能被其它視窗擋住)。
  • glutHideWindow讓當前視窗成為不可視狀態。
  • glutIconifyWindow讓當前視窗成為一個表徵圖,也即是最小化。

void glutSetWindowTitle(char* name);
void glutSetIconTitle(char* name);

設定當前視窗(必須是頂層視窗)的標題和表徵圖化時的標題。

void glutSetCursor(int cursor);

設定當前視窗的游標樣式。

cursor可選值有許多:如GLUT_CURSOR_RIGHT_ARROW指向右邊的游標,GLUT_CURSOR_LEFT_ARROW指向左邊的游標,GLUT_CURSOR_INFO成為手狀。 
GLUT_CURSOR_DESTROY呈叉狀,GLUT_CURSOR_HELP呈現問號的形狀。等等。

轉至:http://blog.csdn.net/augusdi/article/details/7076771

OpenGL的GLUT事件處理(Event Processing)視窗管理(Window Management)函數[轉]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.