Example #1
0
void gbitmap_init_as_sub_bitmap(GBitmap *sub_bitmap, const GBitmap *base_bitmap, GRect sub_rect) {
    grect_clip (&sub_rect,&base_bitmap->bounds);
    sub_bitmap->addr=base_bitmap->addr;
    sub_bitmap->info_flags=base_bitmap->info_flags;
    sub_bitmap->row_size_bytes=base_bitmap->row_size_bytes;
    sub_bitmap->bounds=sub_rect;
}
Example #2
0
GBitmap* gbitmap_create_as_sub_bitmap(const GBitmap *base_bitmap, GRect sub_rect) {
    GBitmap* sub_bitmap=(GBitmap*)malloc(sizeof(GBitmap));
    if (!sub_bitmap) {
        printf ("Memory allocation failed!\n");
        return 0;
    }
    grect_clip (&sub_rect,&base_bitmap->bounds);
    sub_bitmap->addr=base_bitmap->addr;
    GBITMAP_SET_INFO_FLAGS(sub_bitmap,GBITMAP_GET_INFO_FLAGS(base_bitmap));
    GBITMAP_SET_IS_HEAP_ALLOCATED(sub_bitmap,false);
    sub_bitmap->row_size_bytes=base_bitmap->row_size_bytes;
    sub_bitmap->bounds=sub_rect;
    return sub_bitmap;
}