/[pearpc]/src/system/ui/beos/sysbeos.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /src/system/ui/beos/sysbeos.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations)
Wed Sep 5 17:11:21 2007 UTC (16 years, 8 months ago) by dpavlin
File MIME type: text/plain
File size: 3195 byte(s)
import upstream CVS
1 dpavlin 1 /*
2     * PearPC
3     * sysbeos.h
4     *
5     * Copyright (C) 2004 Stefan Weyergraf (stefan@weyergraf.de)
6     * Copyright (C) 2004 Francois Revol (revol@free.fr)
7     *
8     * This program is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2 as
10     * published by the Free Software Foundation.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20     */
21    
22     #ifndef __SYSBEOS_H__
23     #define __SYSBEOS_H__
24    
25     //#define BMP_MENU
26    
27    
28     class BeOSSystemDisplay;
29     class SDView;
30    
31     class SDWindow : public BWindow {
32     public:
33     SDWindow(BRect frame, const char *name);
34     ~SDWindow();
35     virtual bool QuitRequested();
36     virtual void Show();
37     virtual void Hide();
38     virtual void Minimize(bool minimize);
39     };
40    
41     class SDView : public BView {
42     public:
43     SDView(BeOSSystemDisplay *sd, BRect frame, const char *name);
44     ~SDView();
45    
46     virtual void MessageReceived(BMessage *msg);
47     virtual void Draw(BRect updateRect);
48     virtual void MouseDown(BPoint where);
49     virtual void MouseUp(BPoint where);
50     virtual void MouseMoved(BPoint where, uint32 code, const BMessage *a_message);
51     virtual void KeyDown(const char *bytes, int32 numBytes);
52     virtual void KeyUp(const char *bytes, int32 numBytes);
53     virtual void Pulse();
54    
55     void QueueMessage(BMessage *msg);
56     BMessage *UnqueueMessage(bool sync);
57     private:
58     BList fMsgList;
59     BLocker *fMsgListLock;
60     BeOSSystemDisplay *fSystemDisplay;
61     BBitmap *fFramebuffer;
62     sem_id fMsgSem;
63     };
64    
65    
66     class BeOSSystemDisplay: public SystemDisplay
67     {
68     friend class SDView;
69     Queue *mEventQueue;
70     DisplayCharacteristics mBeChar;
71     int mLastMouseX, mLastMouseY;
72     //int mCurMouseX, mCurMouseY;
73     //int mResetMouseX, mResetMouseY;
74     //int mHomeMouseX, mHomeMouseY;
75     bool mMouseButton[3];
76     bool mMouseEnabled;
77     char *mTitle;
78     char mCurTitle[200];
79     byte *mouseData;
80     byte *menuData;
81     /* */
82     sys_thread redrawthread;
83     sys_mutex mutex;
84     BBitmap *fbBitmap;
85     BBitmap *fMenuBitmap;
86     SDView *view;
87     SDWindow *window;
88    
89     void dumpDisplayChar(const DisplayCharacteristics &chr);
90     uint bitsPerPixelToXBitmapPad(uint bitsPerPixel);
91     public:
92     BeOSSystemDisplay(const char *name, const DisplayCharacteristics &chr, int redraw_ms);
93     virtual ~BeOSSystemDisplay();
94     virtual void finishMenu();
95     virtual void convertCharacteristicsToHost(DisplayCharacteristics &aHostChar, const DisplayCharacteristics &aClientChar);
96     virtual bool changeResolution(const DisplayCharacteristics &aCharacteristics);
97     virtual void getHostCharacteristics(Container &modes);
98     int getKeybLEDs();
99     void setKeybLEDs(int leds);
100     void updateTitle();
101     virtual int toString(char *buf, int buflen) const;
102     virtual void setMouseGrab(bool enable);
103     virtual void displayShow();
104     void convertDisplayClientToServer(uint firstLine, uint lastLine);
105     //virtual void queueEvent(DisplayEvent &ev);
106     virtual void startRedrawThread(int msec);
107     };
108    
109     /* implementation */
110    
111     #endif

  ViewVC Help
Powered by ViewVC 1.1.26