ncurses螢幕操作:getyx(),getparyx(),getmaxyx(),scr_dump(),scr_restore(),getwin(),putwin()
- Copyright(C) NCURSES Programming HOWTO
螢幕操作
在這一章我們將瞭解一些管理螢幕的函式。這些函式經常被用於編寫基於控制檯的遊戲。順便讓我們寫一些非常有意思的程式。
getyx()
系列函式
getyx()
函式可以用來取得當前游標的位置。並把它儲存在傳遞給它的兩個變數中。getyx()
是一個巨集,所以不能向它傳送變數的地址。你只能這樣呼叫它:
/* win: 視窗的指標
* y, x: 游標座標的y, x 值將被賦到這兩個變數
*/
getyx(win, y, x);
getparyx()
用於取得子視窗相對主視窗的起始座標,它在更新子視窗時經常使用。當設計一個多級選單時,如果用儲存選單座標方法來處理,就變得非常困難。然而使用getparyx()
函式找到該選單的相對座標的方案就顯的比較簡單。getbegyx()
函式和getmaxyx()
函式用於以同樣的方式儲存當前視窗的起始和結束座標,可以高效地管理視窗和子視窗。
螢幕轉儲
開發遊戲的時候,通常儲存和恢復螢幕是十分必要的。scr_dump()
函式可以把當前螢幕的內容存入指定檔案,即以檔名作為函式的引數(函式原型:scr_dump(const char *file)
——譯者注)。而通過scr_restore()
函式呼叫螢幕資料檔案來恢復螢幕( 函式原型:scr_restore(constchar *file)
——譯者注)。在遊戲設計中這兩個函式可以用來快速切換遊戲場景。
視窗轉儲
視窗轉儲同螢幕轉儲的原理一樣。getwin()函式(函式原型:getwin(FILE * filep)
——譯者注)用來將視窗內容儲存到一個指定的檔案中。putwin()
函式(函式原型:putwin(WINDOW*win, FILE * filep)
——譯者注)則呼叫相應的檔案來恢復視窗。copywin()
可以將一個視窗拷貝到另一個視窗,即將源視窗矩形區域(由引數指定)中的內容複製到目標視窗指定的矩形區域(由引數指定)裡。而最後的引數用來選擇是否要覆蓋目的視窗:如果引數為TRUE,那麼就會覆蓋目標視窗的內容;如果引數為FLASE,那麼就會重寫目的視窗中的內容。以下為函式的原型:
int copywin(
const WINDOW *src, /* 源視窗指標*/
WINDOW *dst, /* 目的視窗指標*/
int sminrow, /* 源視窗所選矩形區域的最小行數*/
int smincol, /* 源視窗所選矩形區域的最小列數*/
int dminrow, /* 目的視窗所選矩形區域的最小行數*/
int dmincol, /* 目的視窗所選矩形區域的最小列數*/
int dmaxrow, /* 目的視窗所選矩形區域的最大行數*/
int dmaxcol, /* 目的視窗所選矩形區域的最大列數*/
int over) /* 是否覆蓋目的視窗*/
相關文章
- WebRTC本地分享螢幕,錄製螢幕Web
- 訊息篩選器/螢幕無操作鎖屏
- windows 10如何把螢幕翻轉過來_win10顯示螢幕翻轉怎麼操作WindowsWin10
- win10怎麼設定不同螢幕背景_win10設定不同螢幕背景操作方法Win10
- 把selection screen當子螢幕放到普通螢幕上
- 螢幕適配
- win10如何設定螢幕不熄滅_win10設定電腦螢幕不熄滅怎麼操作Win10
- AutoLayout螢幕適配
- android 螢幕適配Android
- Flutter螢幕適配Flutter
- android 喚醒螢幕Android
- 多螢幕切換
- ubuntu螢幕旋轉Ubuntu
- 螢幕影像渲染原理
- 如何將 MacBook 的外接螢幕設定為主螢幕的方法Mac
- Android螢幕適配方案Android
- Android 禁止螢幕旋轉Android
- 螢幕畫素知識
- iOS 各種螢幕尺寸iOS
- oled螢幕不卡方案
- android螢幕適配方法Android
- QT居中螢幕顯示QT
- orientationchange 螢幕旋轉事件事件
- Android 螢幕自適應Android
- Snagit 2022,螢幕錄製Git
- 螢幕調節軟體
- win10如何把螢幕投影_win10怎麼投影到螢幕Win10
- 螢幕錄製軟體是怎麼錄製電腦螢幕影片的?
- Mac蓋上螢幕不休眠技巧,教你關閉螢幕不進入黑屏!Mac
- Mac蓋上螢幕後外接螢幕持續黑畫面的解決方法Mac
- Scrcpy v1.9可以在螢幕關閉的情況下映象螢幕
- win10 如何去掉待機螢幕 win10去掉待機螢幕方法Win10
- 如何錄製螢幕影片?詳細的錄屏操作步驟告訴你
- Android 主流螢幕以及適配Android
- div 螢幕居中的寫法
- mui 控制旋轉螢幕方向UI
- iOS中的螢幕導航iOS
- iSnapshot for Mac螢幕截圖工具Mac