acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
device.h
1//
2// Created by camilo on 31/01/2022 20:15 <3ThomasBorregaardSorensen!! Thomas Likes number 5!!
3//
4#pragma once
5
6
7//#include "acme/user/micro/_nano.h"
8
9
10#include "acme/nano/graphics/context.h"
11
12
13#include <cairo/cairo-features.h>
14#include <cairo/cairo.h>
15//#include <cairo/cairo-ft.h>
16//#include <cairo/cairo-xlib.h>
17
18
19namespace cairo
20{
21
22
23 namespace nano
24 {
25 namespace user
26 {
27 class CLASS_DECL_ACME device :
28 virtual public ::nano::graphics::context
29 {
30 public:
31
32
33 cairo_surface_t * m_psurfaceMemory;
34 cairo_t * m_pdc;
35
36
37 device();
38 device(cairo_t * pdc);
39 ~device() override;
40
41
42 void on_begin_draw() override;
43 void on_end_draw() override;
44
45
46 void _draw_text(const ::scoped_string & scopedstrMessage, const ::i32_rectangle & rectangleText, const ::e_align & ealign, const ::e_draw_text & edrawtext, ::nano::graphics::brush * pnanobrushBack, ::nano::graphics::brush * pnanobrushText, ::nano::graphics::font * pnanofont) override;
47 ::i32_size get_text_extents(const ::scoped_string & scopedstr, ::nano::graphics::font * pnanofont) override;
48 void rectangle(const ::i32_rectangle & rectangle, ::nano::graphics::brush * pnanobrush, ::nano::graphics::pen * pnanopen) override;
49
50
51 //XColor _alloc_xcolor(const ::color::color & color);
52 //void _set_foreground(const ::color::color & color);
53 //void _set_background(const ::color::color & color);
54
55 void _set_source(const ::color::color & color);
56
57
58 //void set_antialias(bool bAntialiasOn);
59
60
61 };
62
63
64 } // namespace user
65
66
67 } // namespace nano
68
69
70} // namespace cairo
71
72
73void operating_system_initialize_cairo_nano(::factory::factory * pfactory);
74
75
76
Definition factory.h:201
Definition brush.h:18
Definition context.h:24
Definition font.h:18
Definition pen.h:17