설명

Device Context에서 다른 Device Context로 내용 전체 또는 일부를 복사합니다. 인수로 받은 영역이 출력 영역 밖이라면, 영역 내의 좌표만 유효하게 처리합니다.

헤더 gx.h
형태 void gx_bitblt( dc_t *dc_dest, int dest_x, int dest_y, dc_t *dc_sour, int sour_x, int sour_y, int sour_w, int sour_h);
인수
dc_t *dc_des   복사되는 목적지 Device Context
int dest_x   목적지 Device Context에 대해서 어디에 복사할 지의 x 좌표
int dest_y   목적지 Device Context에 대해서 어디에 복사할 지의 y 좌표
dc_t *dc_sour   복사할 원본 Device Context
int sour_x   원본에서 어디부터 복사할 지의 x좌표
int sour_y   원본에서 어디부터 복사할 지의 y좌표
int sour_w   원본에서 어디까지 복사할 지의 넢이
int sour_h   원본에서 어디까지 복사할 지의 높이
반환
     

예제

#include    <stdio.h>
#include    <gx.h>
#include    <gxbmp.h>

int   main( void)
{
    dc_t    *dc_screen;                             // 화면 Device Context  
    bmp_t   *bmp;

    if  ( gx_init( "/dev/fb"))                      // gxLib 초기화
        gx_print_error( "");                        // 실행 중 에러 내용을 출력
    else
    {
        if  ( !( dc_screen = gx_get_screen_dc()))   // 화면 출력을 위한 스크린 DC 구함
            gx_print_error( "");                    // 실행 중 에러 내용을 출력
        else
        {
            if  ( !( bmp = gx_bmp_open( "16.bmp")))  
                gx_print_error( "16.bmp");
            {
                // 화면을 깨끗하게
                gx_clear( dc_screen, gx_color( 0, 0, 0, 255));
                
                // bmp를 화면에 출력
                gx_bitblt( dc_screen, 100, 100, (dc_t *)bmp, 0, 0, bmp->width-1, bmp->height-1);
                
                gx_bmp_close( bmp);
            }
            gx_release_dc( dc_screen);
        }
        gx_close();
    }
    return   0;
}
]$ ./a.out