all drawing now thru cairo
This commit is contained in:
parent
eb39883bfa
commit
4949ac449e
12
main.cpp
12
main.cpp
@ -28,16 +28,18 @@ void print_version() {
|
|||||||
void draw(sc::gui::Window& window) {
|
void draw(sc::gui::Window& window) {
|
||||||
SDL_Surface* s {SDL_CreateRGBSurface(0, 700, 700, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0)};
|
SDL_Surface* s {SDL_CreateRGBSurface(0, 700, 700, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0)};
|
||||||
sc::gui::Image image {s};
|
sc::gui::Image image {s};
|
||||||
SDL_FillRect(s, nullptr, SDL_MapRGB(s->format, 255, 255, 255));
|
|
||||||
SDL_Rect rect { 300, 300, 100, 100 };
|
|
||||||
SDL_FillRect(s, &rect, SDL_MapRGB(s->format, 255, 128, 0));
|
|
||||||
sc::gui::ImageLock lock {image};
|
sc::gui::ImageLock lock {image};
|
||||||
cairo_surface_t* cs {cairo_image_surface_create_for_data(static_cast<unsigned char*>(s->pixels),
|
cairo_surface_t* cs {cairo_image_surface_create_for_data(static_cast<unsigned char*>(s->pixels),
|
||||||
CAIRO_FORMAT_RGB24, s->w, s->h, s->pitch)};
|
CAIRO_FORMAT_RGB24, s->w, s->h, s->pitch)};
|
||||||
cairo_t* cr {cairo_create(cs)};
|
cairo_t* cr {cairo_create(cs)};
|
||||||
cairo_set_line_width(cr, 0.1);
|
cairo_set_source_rgb(cr, 1, 1, 1);
|
||||||
cairo_set_source_rgb(cr, 0, 0, 0);
|
cairo_rectangle(cr, 0, 0, s->w, s->h);
|
||||||
|
cairo_fill(cr);
|
||||||
|
cairo_rectangle(cr, 300, 300, 100, 100);
|
||||||
|
cairo_set_source_rgb(cr, 1, 0.5, 0);
|
||||||
|
cairo_fill(cr);
|
||||||
cairo_rectangle(cr, 200, 200, 100, 100);
|
cairo_rectangle(cr, 200, 200, 100, 100);
|
||||||
|
cairo_set_source_rgb(cr, 0, 0, 0);
|
||||||
cairo_fill(cr);
|
cairo_fill(cr);
|
||||||
window.show_image(image);
|
window.show_image(image);
|
||||||
cairo_surface_destroy(cs);
|
cairo_surface_destroy(cs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user