그래픽 라이브러리 - gxLib
글 수 28
설명
gxLib를 사용하기 위해 gx_init()를 호출하면, 광역 변수 gx_fb에 (1) 프레임 버퍼에 대한 모든 정보와 (2) 출력을 위한 메모리 매핑에 대한 정보를 저장하게 됩니다. gx_fb의 frame_buffer_t의 구조는 아래와 같습니다.
typedef struct frame_buffer_t_ frame_buffer_t;
struct frame_buffer_t_
{
int fd; // 프레임 버퍼에 대한 파일 디스크립터
int width; // 도트 단위의 폭
int height; // 도트 단위의 높이
int dots; // 전체 도트 갯수 width * height
int bytes; // 메모리 전체 크기
int colors; // 칼라 깊이, 1=1bit, 4=4bit, 8=8bit, ...
int bytes_per_line; // 라인당 바이트 개수
int bits_per_pixel; // 비트당 픽셀 개수
unsigned short *mapped; // 메모리 매핑된 포인터
};
| 헤더 | gx.h | |
| 형태 | frame_buffer_t gx_fb; | |
예제
#include <stdio.h>
#include <gx.h>
int main( void)
{
if ( gx_init( "/dev/fb")) // 프레임 버퍼를 이용하여 gxLib를 초기화
gx_print_error( ""); // 초기화 중 에러 내용을 출력
else
{
printf( "스크린의 폭 = %d pixeln", gx_fb.width );
printf( "스크린의 높이 = %d pixeln", gx_fb.height);
printf( "전체 도트 갯수 = %d pixeln", gx_fb.dots );
printf( "메모리 전체 크기 = %d bytesn", gx_fb.bytes );
printf( "칼라 깊이 = %d bitn" , gx_fb.colors);
gx_close();
}
return 0;
}
스크린의 폭 = 1024 pixel
스크린의 높이 = 768 pixel
전체 도트 갯수 = 786432 pixel
메모리 전체 크기 = 1572864 bytes
칼라 깊이 = 16 bit


