acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_windows.h
1#pragma once
2
3
4#include "_c.h"
5#include "acme/parallelization/types.h"
6#include "acme/operating_system/windows/_.h"
7
8
9#undef USUAL_OPERATING_SYSTEM_SUPPRESSIONS
10#include "acme/_operating_system.h"
11#include <windowsx.h>
12
13
14CLASS_DECL_ACME ::operating_system::window as_operating_system_window(HWND hwnd);
15CLASS_DECL_ACME HWND as_HWND(const ::operating_system::window & operatingsystemwindow);
16
17
18CLASS_DECL_ACME void copy(MESSAGE& message, const MSG &msg);
19CLASS_DECL_ACME void copy(MSG& msg, const MESSAGE& message);
20
21
22inline ::i32 width(RECT & r) { return r.right - r.left; }
23
24inline ::i32 height(RECT & r) { return r.bottom - r.top; }
25
26
27inline ::i32_point lparam_as_point(LPARAM lparam)
28{
29
30 return ::i32_point(GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam));
31
32}
33
34
35inline HANDLE as_HANDLE(const htask &htask) { return (HANDLE)htask.m_h; }
36
37
38
Definition types.h:47
Definition lparam.h:9
Definition message.h:13