Ember
Loading...
Searching...
No Matches
WxConverters.h
Go to the documentation of this file.
1#pragma once
2
3#include "EmberCore/Types/Types.h"
4#include <wx/colour.h>
5#include <wx/point.h>
6#include <wx/rect.h>
7#include <wx/size.h>
8#include <wx/wx.h>
9
10namespace EmberForge {
11
19 public:
20 // String conversions
21 static wxString ToWxString(const EmberCore::String &str) { return wxString(str.c_str(), wxConvUTF8); }
22
23 static EmberCore::String FromWxString(const wxString &str) { return std::string(str.utf8_str()); }
24
25 // Point conversions
26 static wxPoint ToWxPoint(const EmberCore::Point &point) { return wxPoint(point.x, point.y); }
27
28 static EmberCore::Point FromWxPoint(const wxPoint &point) { return EmberCore::Point(point.x, point.y); }
29
30 // Size conversions
31 static wxSize ToWxSize(const EmberCore::Size &size) { return wxSize(size.width, size.height); }
32
33 static EmberCore::Size FromWxSize(const wxSize &size) { return EmberCore::Size(size.GetWidth(), size.GetHeight()); }
34
35 // Rect conversions
36 static wxRect ToWxRect(const EmberCore::Rect &rect) { return wxRect(rect.x, rect.y, rect.width, rect.height); }
37
38 static EmberCore::Rect FromWxRect(const wxRect &rect) {
39 return EmberCore::Rect(rect.x, rect.y, rect.width, rect.height);
40 }
41
42 // Color conversions
43 static wxColour ToWxColour(const EmberCore::Color &color) { return wxColour(color.r, color.g, color.b, color.a); }
44
45 static EmberCore::Color FromWxColour(const wxColour &colour) {
46 return EmberCore::Color::FromRGBA(colour.Red(), colour.Green(), colour.Blue(), colour.Alpha());
47 }
48
49 // Convenience methods for common conversions
50 static wxString ToWxString(const char *str) { return wxString(str, wxConvUTF8); }
51
52 static EmberCore::String FromWxString(const char *str) { return std::string(str); }
53};
54
55} // namespace EmberForge
Conversion utilities between EmberCore types and wxWidgets types.
static EmberCore::Color FromWxColour(const wxColour &colour)
static EmberCore::String FromWxString(const wxString &str)
static wxString ToWxString(const EmberCore::String &str)
static EmberCore::Rect FromWxRect(const wxRect &rect)
static EmberCore::Size FromWxSize(const wxSize &size)
static wxPoint ToWxPoint(const EmberCore::Point &point)
static EmberCore::Point FromWxPoint(const wxPoint &point)
static wxSize ToWxSize(const EmberCore::Size &size)
static EmberCore::String FromWxString(const char *str)
static wxString ToWxString(const char *str)
static wxColour ToWxColour(const EmberCore::Color &color)
static wxRect ToWxRect(const EmberCore::Rect &rect)
std::string String
Framework-agnostic string type.
Definition String.h:14
RGBA color with 8-bit components.
Definition Color.h:10
uint8_t b
Definition Color.h:13
static Color FromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a)
Definition Color.h:22
uint8_t r
Definition Color.h:11
uint8_t g
Definition Color.h:12
uint8_t a
Definition Color.h:14
2D point with integer coordinates
Definition Geometry.h:8
2D rectangle with position and size
Definition Geometry.h:40
2D size with integer dimensions
Definition Geometry.h:23