15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
//==================================================================================================================================
// OGApplication.m
//==================================================================================================================================
#import <ObjFW/OFApplication.h> //this seems to be needed for "OF_APPLICATION_DELEGATE"
#import "OGWidget.h"
#import "OGApplication.h"
//==================================================================================================================================
|
|
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
//==================================================================================================================================
// OGApplication.m
//==================================================================================================================================
#import <ObjFW/OFApplication.h> //this seems to be needed for "OF_APPLICATION_DELEGATE"
#import "OGWidget.h"
#import "OGApplication.h"
//==================================================================================================================================
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
wcx.hInstance = hInst;
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcx.lpszMenuName = NULL;
wcx.lpszClassName = clsName;
wcx.hIconSm = NULL;
RegisterClassEx(&wcx);
//TODO: although this doesn't ever really fail, we should probably Throw an Exception here...
//if(!RegisterClassEx(&wcx)) @throw ...;
}
//==================================================================================================================================
void win32_main()
{
|
|
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
wcx.hInstance = hInst;
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcx.lpszMenuName = NULL;
wcx.lpszClassName = clsName;
wcx.hIconSm = NULL;
RegisterClassEx(&wcx);
//TODO: although this doesn't ever really fail, we should probably Throw an Exception here...
//if(!RegisterClassEx(&wcx)) @throw ...;
}
//==================================================================================================================================
void win32_main()
{
|
109
110
111
112
113
114
115
116
117
118
119
|
}
}
}
//==================================================================================================================================
LRESULT CALLBACK win32_OGWndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
void *ptr = (void *)GetWindowLong(hwnd, GWL_USERDATA);
if(ptr == NULL) return DefWindowProc(hwnd, msg, wparam, lparam);
return [(id)ptr MessageReceived : hwnd : msg : wparam : lparam];
}
//==================================================================================================================================
|
|
|
109
110
111
112
113
114
115
116
117
118
119
|
}
}
}
//==================================================================================================================================
LRESULT CALLBACK win32_OGWndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
void *ptr = (void *)GetWindowLong(hwnd, GWL_USERDATA);
if(ptr == NULL) return DefWindowProc(hwnd, msg, wparam, lparam);
return [(id)ptr MessageReceived : hwnd : msg : wparam : lparam];
}
//==================================================================================================================================
|