acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
pixmap_lock.h
1// From pixmap.h by camilo on 2024-09-27 19:36 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5class pixmap_lock
6{
7public:
8
9
10 pixmap * m_pbitmap;
11 ::i32_rectangle m_rectanglePrevious;
12 bool m_bMapped;
13
14
15 pixmap_lock() { }
16
17
18 pixmap_lock(pixmap * pmap, i32_rectangle rectangle) :
19 m_pbitmap(pmap)
20 {
21
22 map_base(rectangle);
23
24 }
25
26
27 pixmap_lock(pixmap * pmap) :
28 m_pbitmap(pmap)
29 {
30
31 }
32
33
34 ~pixmap_lock()
35 {
36
37 unmap();
38
39 }
40
41 bool map_base(::i32_rectangle rectangleMap)
42 {
43
44 if (m_bMapped)
45 {
46
47 return false;
48
49 }
50
51 m_rectanglePrevious = m_pbitmap->rectangle();
52
53 m_pbitmap->map(rectangleMap);
54
55 m_bMapped = true;
56
57 return true;
58
59 }
60
61
62 bool unmap()
63 {
64
65 if (!m_bMapped)
66 {
67
68 return false;
69
70 }
71
72 m_pbitmap->map(m_rectanglePrevious);
73
74 m_bMapped = false;
75
76 return true;
77
78 }
79
80
81};
82
83
84
Definition pixmap.h:25