forked from livecode/livecode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathem-dc.h
More file actions
78 lines (57 loc) · 2.36 KB
/
Copy pathem-dc.h
File metadata and controls
78 lines (57 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* -*-c++-*-
Copyright (C) 2003-2013 Runtime Revolution Ltd.
This file is part of LiveCode.
LiveCode is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License v3 as published by the Free
Software Foundation.
LiveCode is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
#ifndef __MC_EMSCRIPTEN_DC_H__
#define __MC_EMSCRIPTEN_DC_H__
#include <foundation.h>
#include "globdefs.h"
#include "objdefs.h"
#include "parsedef.h"
#include "sysdefs.h"
#include "stack.h"
#include "uidc.h"
MCUIDC *MCCreateScreenDC(void);
extern "C" MCStack *MCEmscriptenGetCurrentStack(void);
/* ---------------------------------------------------------------- */
class MCScreenDC: public MCUIDC
{
public:
/* ---------- Construction/destruction */
MCScreenDC();
virtual ~MCScreenDC();
Boolean open();
Boolean close(Boolean force);
/* ---------- Window management */
virtual void openwindow(Window p_window, Boolean override);
virtual void closewindow(Window p_window);
virtual void destroywindow(Window & x_window);
virtual bool platform_getwindowgeometry(Window p_window,
MCRectangle & r_rect);
/* ---------- Event loop */
virtual Boolean wait(real64_t p_duration,
Boolean p_allow_dispatch,
Boolean p_allow_anyevent);
/* ---------- Extra stuff */
/* Get the stack being shown in the default canvas. */
MCStack *GetCurrentStack();
/* Pops up simple ask/answer dialogues */
virtual int32_t popupanswerdialog(MCStringRef *p_buttons, uint32_t p_button_count, uint32_t p_type, MCStringRef p_title, MCStringRef p_message);
virtual bool popupaskdialog(uint32_t p_type, MCStringRef p_title, MCStringRef p_message, MCStringRef p_initial, bool p_hint, MCStringRef& r_result);
/* Mouse management */
virtual void platform_querymouse(int16_t& r_x, int16_t& r_y);
protected:
void UpdateFocus();
void FitWindow();
private:
Window m_main_window;
};
#endif /* ! __MC_EMSCRIPTEN_DC_H__ */