X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fgfx.h;h=e6d4b49b18dd3d83c93c45dbf8b73befbc9fe142;hb=e2626c41c841dbbfb64ddf6341b4e23089036299;hp=7868b012888276963492fde35305045dceac9d5a;hpb=0860ce537422597075fbc63ddcc9a73303362a93;p=winnie
diff --git a/src/gfx.h b/src/gfx.h
index 7868b01..e6d4b49 100644
--- a/src/gfx.h
+++ b/src/gfx.h
@@ -1,22 +1,57 @@
+/*
+winnie - an experimental window system
+
+Copyright (C) 2013 Eleni Maria Stea
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+
+Author: Eleni Maria Stea
+*/
+
#ifndef GFX_H_
#define GFX_H_
-struct Rect {
- int x;
- int y;
- int width;
- int height;
-};
+#include "geom.h"
+#include "pixmap.h"
bool init_gfx();
void destroy_gfx();
-unsigned char* get_framebuffer();
+unsigned char *get_framebuffer();
+Pixmap *get_framebuffer_pixmap();
+
Rect get_screen_size();
int get_color_depth();
+void set_clipping_rect(const Rect &clip_rect);
+const Rect &get_clipping_rect();
+
void clear_screen(int r, int g, int b);
+void fill_rect(const Rect &rect, int r, int g, int b);
void set_cursor_visibility(bool visible);
+void blit(unsigned char *src_img, const Rect &src_rect, unsigned char* dest_img,
+ const Rect &dest_rect, int dest_x, int dest_y);
+
+void blit_key(unsigned char *src_img, const Rect &src_rect, unsigned char* dest_img,
+ const Rect &dest_rect, int dest_x, int dest_y, int key_r, int key_g, int key_b);
+
+void gfx_update(const Rect &rect);
+
+void wait_vsync(); // vertical synchronization
+
+void get_rgb_order(int *r, int *g, int *b);
+
#endif //GFX_H_