SDL_LockSurface

章節:SDL API 參考 (3)
更新:2001年9月11日 星期二 23:01
索引
 

名稱

SDL_LockSurface - 為直接訪問而鎖定平面。  

摘要

#include "SDL.h"

int SDL_LockSurface(SDL_Surface *surface);  

描述

SDL_LockSurface為直接訪問像素而鎖定一個平面。在調用SDL_LockSurface和SDL_UnlockSurface期間,你可以使用存儲于surface->format的像素格式來讀寫surface->pixels。一旦你訪問完平面,你應該使用SDL_UnlockSurface來釋放它。

並非所有平面都要鎖定。若SDL_MUSTLOCK(surface)的值為0,則你可以在任何時候讀寫平面,並且平面的像素格式不會改變。

在鎖定與解除鎖定期間,不應該調用操作系統調用或庫調用。這是由于此期間關鍵的系統鎖定可能會延誤。

值得注意的是,自從SDL 1.1.8之後,平面鎖定是遞歸的。這意味著,你可以多次鎖定同一個平面,但每次鎖定都必須有與之對應的解除鎖定。

    .
    .
    SDL_LockSurface( surface );
    .
    /* 鎖定平面 */
    /* 在這裡對平面進行直接的像素訪問 */
    .
    SDL_LockSurface( surface );
    .
    /* 對平面作更多直接的像素訪問 */
    .
    SDL_UnlockSurface( surface );
    /* 平面尚被鎖定 */
    /* 注意:小于1.1.8的版本在此階段不再被鎖定 */
    .
    SDL_UnlockSurface( surface );
    /* 此時才算解除鎖定 */
    .
    .

 

返回值

若能鎖定平面,則SDL_LockSurface返回0;否則,返回-1。  

另見

SDL_UnlockSurface  

譯者

石仔<guoshimin57@gmail.com>  

中文版主頁

http://guoshimin.users.sf.net  

中文版最後更新時間

2010年2月17日


 

索引

名稱
摘要
描述
返回值
另見
譯者
中文版主頁
中文版最後更新時間