File: GSLinux.cpp

package info (click to toggle)
pcsx2 1.4.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 22,172 kB
  • ctags: 40,348
  • sloc: cpp: 232,892; ansic: 22,912; asm: 2,273; lisp: 1,346; sh: 561; perl: 253; makefile: 113; xml: 69
file content (118 lines) | stat: -rw-r--r-- 2,194 bytes parent folder | download
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*  GSnull
 *  Copyright (C) 2002-2010  PCSX2 Dev Team
 *
 *  PCSX2 is free software: you can redistribute it and/or modify it under the terms
 *  of the GNU Lesser General Public License as published by the Free Software Found-
 *  ation, either version 3 of the License, or (at your option) any later version.
 *
 *  PCSX2 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 PCSX2.
 *  If not, see <http://www.gnu.org/licenses/>.
 */

#include "GS.h"
#include "GSLinux.h"

Display *display;
int screen;
GtkScrolledWindow *win;

int GSOpenWindow(void *pDsp, const char *Title)
{
	display = XOpenDisplay(0);
	screen = DefaultScreen(display);

	if (pDsp != NULL)
		*(Display**)pDsp = display;
	else
		return -1;

	return 0;
}

int GSOpenWindow2(void *pDsp, u32 flags)
{
    GtkWidget *widget;
	if (pDsp != NULL)
		win = *(GtkScrolledWindow**)pDsp;
	else
		return -1;

	return 0;
}

void GSCloseWindow()
{
    if (display != NULL)
        XCloseDisplay(display);
}

void GSProcessMessages()
{
	if ( GSKeyEvent )
		{
		int myKeyEvent = GSKeyEvent;
		bool myShift = GSShift;
		GSKeyEvent = 0;

		switch ( myKeyEvent )
		{
			case XK_F5:
			 	OnKeyboardF5(myShift);
				break;
			case XK_F6:
				OnKeyboardF6(myShift);
				break;
			case XK_F7:
				OnKeyboardF7(myShift);
				break;
			case XK_F9:
				OnKeyboardF9(myShift);
				break;
		}
	}
}


void HandleKeyEvent(keyEvent *ev)
{
	switch(ev->evt)
	{
		case KEYPRESS:
			switch(ev->key)
			{
				case XK_F5:
				case XK_F6:
				case XK_F7:
				case XK_F9:
					GSKeyEvent = ev->key ;
					break;
				case XK_Escape:
					break;
				case XK_Shift_L:
				case XK_Shift_R:
					GSShift = true;
					break;
				case XK_Alt_L:
				case XK_Alt_R:
					GSAlt = true;
					break;
			}
			break;
		case KEYRELEASE:
			switch(ev->key)
			{
				case XK_Shift_L:
				case XK_Shift_R:
					GSShift = false;
					break;
				case XK_Alt_L:
				case XK_Alt_R:
					GSAlt = false;
					break;
			}
	}
}