source: trunk/src/user32/gen_object.h@ 1490

Last change on this file since 1490 was 1490, checked in by sandervl, 26 years ago

misc changes

File size: 1.4 KB
Line 
1/* $Id: gen_object.h,v 1.2 1999-10-28 12:00:33 sandervl Exp $ */
2/*
3 * Generic Object Class for OS/2
4 *
5 * Copyright 1999 Sander van Leeuwen (sandervl@xs4all.nl)
6 *
7 */
8#ifndef __GEN_OBJECT_H__
9#define __GEN_OBJECT_H__
10
11#include <heapshared.h>
12
13#define OBJTYPE_WINDOW 0
14#define OBJTYPE_DIALOG 1
15#define OBJTYPE_CLASS 2
16#define OBJTYPE_BITMAP 3
17#define OBJTYPE_ICON 4
18#define OBJTYPE_CURSOR 5
19#define OBJTYPE_MENU 6
20
21#define OBJTYPE_MAX 7
22//......
23
24class GenericObject
25{
26public:
27 GenericObject(GenericObject **head, DWORD objType);
28virtual ~GenericObject();
29
30 DWORD getObjectType() { return objType; };
31 void setObjectType(DWORD objType) { this->objType = objType; };
32
33GenericObject *GetHead() { return *head; };
34GenericObject *GetNext() { return next; };
35
36 void enterMutex();
37 void leaveMutex();
38
39static void enterMutex(DWORD objType);
40static void leaveMutex(DWORD objType);
41
42#ifdef __DEBUG_ALLOC__
43 void *operator new(size_t size, const char *filename, size_t lineno)
44 {
45 return _smalloc(size);
46 }
47 void operator delete(void *location, const char *filename, size_t lineno)
48 {
49 free(location);
50 }
51#else
52 void *operator new(size_t size)
53 {
54 return _smalloc(size);
55 }
56 void operator delete(void *location)
57 {
58 free(location);
59 }
60#endif
61
62private:
63
64 DWORD objType;
65
66protected:
67
68 GenericObject **head;
69 GenericObject *next;
70};
71
72#endif
Note: See TracBrowser for help on using the repository browser.