mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-29 19:20:09 +00:00
Initialize windows with width/height/scale args on Skia port
This commit is contained in:
parent
66c5e04a58
commit
f9d0254d91
@ -36,7 +36,10 @@ public:
|
||||
OSXWindowDelegate* m_delegate;
|
||||
int m_scale;
|
||||
}
|
||||
- (OSXWindow*)initWithImpl:(OSXWindowImpl*)impl;
|
||||
- (OSXWindow*)initWithImpl:(OSXWindowImpl*)impl
|
||||
width:(int)width
|
||||
height:(int)height
|
||||
scale:(int)scale;
|
||||
- (OSXWindowImpl*)impl;
|
||||
- (int)scale;
|
||||
- (void)setScale:(int)scale;
|
||||
|
@ -18,11 +18,14 @@
|
||||
@implementation OSXWindow
|
||||
|
||||
- (OSXWindow*)initWithImpl:(OSXWindowImpl*)impl
|
||||
width:(int)width
|
||||
height:(int)height
|
||||
scale:(int)scale
|
||||
{
|
||||
m_impl = impl;
|
||||
m_scale = 1;
|
||||
m_scale = scale;
|
||||
|
||||
NSRect rect = NSMakeRect(0, 0, 640, 480);
|
||||
NSRect rect = NSMakeRect(0, 0, width, height);
|
||||
self = [self initWithContentRect:rect
|
||||
styleMask:(NSTitledWindowMask | NSClosableWindowMask |
|
||||
NSMiniaturizableWindowMask | NSResizableWindowMask)
|
||||
|
@ -18,7 +18,7 @@
|
||||
namespace she {
|
||||
|
||||
SkiaDisplay::SkiaDisplay(int width, int height, int scale)
|
||||
: m_window(instance()->eventQueue(), this)
|
||||
: m_window(instance()->eventQueue(), this, width, height, scale)
|
||||
, m_surface(new SkiaSurface)
|
||||
, m_customSurface(false)
|
||||
, m_nativeCursor(kArrowCursor)
|
||||
|
@ -22,7 +22,8 @@ class SkiaWindow {
|
||||
public:
|
||||
enum class Backend { NONE, GL };
|
||||
|
||||
SkiaWindow(EventQueue* queue, SkiaDisplay* display);
|
||||
SkiaWindow(EventQueue* queue, SkiaDisplay* display,
|
||||
int width, int height, int scale);
|
||||
~SkiaWindow();
|
||||
|
||||
int scale() const;
|
||||
|
@ -33,12 +33,16 @@ namespace she {
|
||||
|
||||
class SkiaWindow::Impl : public OSXWindowImpl {
|
||||
public:
|
||||
Impl(EventQueue* queue, SkiaDisplay* display)
|
||||
Impl(EventQueue* queue, SkiaDisplay* display,
|
||||
int width, int height, int scale)
|
||||
: m_display(display)
|
||||
, m_backend(Backend::NONE)
|
||||
, m_nsGL(nil) {
|
||||
m_closing = false;
|
||||
m_window = [[OSXWindow alloc] initWithImpl:this];
|
||||
m_window = [[OSXWindow alloc] initWithImpl:this
|
||||
width:width
|
||||
height:height
|
||||
scale:scale];
|
||||
}
|
||||
|
||||
~Impl() {
|
||||
@ -261,8 +265,10 @@ private:
|
||||
#endif
|
||||
};
|
||||
|
||||
SkiaWindow::SkiaWindow(EventQueue* queue, SkiaDisplay* display)
|
||||
: m_impl(new Impl(queue, display))
|
||||
SkiaWindow::SkiaWindow(EventQueue* queue, SkiaDisplay* display,
|
||||
int width, int height, int scale)
|
||||
: m_impl(new Impl(queue, display,
|
||||
width, height, scale))
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -23,8 +23,10 @@
|
||||
|
||||
namespace she {
|
||||
|
||||
SkiaWindow::SkiaWindow(EventQueue* queue, SkiaDisplay* display)
|
||||
: m_queue(queue)
|
||||
SkiaWindow::SkiaWindow(EventQueue* queue, SkiaDisplay* display,
|
||||
int width, int height, int scale)
|
||||
: WinWindow<SkiaWindow>(width, height, scale)
|
||||
, m_queue(queue)
|
||||
, m_display(display)
|
||||
, m_backend(Backend::NONE)
|
||||
#if SK_SUPPORT_GPU
|
||||
|
@ -27,7 +27,8 @@ class SkiaWindow : public WinWindow<SkiaWindow> {
|
||||
public:
|
||||
enum class Backend { NONE, GL, ANGLE };
|
||||
|
||||
SkiaWindow(EventQueue* queue, SkiaDisplay* display);
|
||||
SkiaWindow(EventQueue* queue, SkiaDisplay* display,
|
||||
int width, int height, int scale);
|
||||
~SkiaWindow();
|
||||
|
||||
void queueEventImpl(Event& ev);
|
||||
|
@ -31,15 +31,15 @@ namespace she {
|
||||
template<typename T>
|
||||
class WinWindow {
|
||||
public:
|
||||
WinWindow()
|
||||
WinWindow(int width, int height, int scale)
|
||||
: m_clientSize(1, 1)
|
||||
, m_restoredSize(0, 0) {
|
||||
registerClass();
|
||||
m_hwnd = createHwnd(this);
|
||||
m_hwnd = createHwnd(this, width, height);
|
||||
m_hcursor = NULL;
|
||||
m_hasMouse = false;
|
||||
m_captureMouse = false;
|
||||
m_scale = 1;
|
||||
m_scale = scale;
|
||||
}
|
||||
|
||||
void queueEvent(Event& ev) {
|
||||
@ -484,14 +484,14 @@ namespace she {
|
||||
throw std::runtime_error("Error registering window class");
|
||||
}
|
||||
|
||||
static HWND createHwnd(WinWindow* self) {
|
||||
static HWND createHwnd(WinWindow* self, int width, int height) {
|
||||
HWND hwnd = CreateWindowEx(
|
||||
WS_EX_APPWINDOW | WS_EX_ACCEPTFILES,
|
||||
SHE_WND_CLASS_NAME,
|
||||
L"",
|
||||
WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
width, height,
|
||||
nullptr,
|
||||
nullptr,
|
||||
GetModuleHandle(nullptr),
|
||||
|
Loading…
x
Reference in New Issue
Block a user