gosu 0.10.2 → 0.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gosu/Version.hpp +2 -2
- data/ext/gosu/gosu_wrap.cxx +7 -7
- data/ext/gosu/gosu_wrap.h +1 -1
- data/src/Input/TextInput.cpp +25 -3
- data/src/Text/TextWin.cpp +1 -1
- data/src/Window.cpp +10 -6
- metadata +2 -3
- data/src/Input/TextInputMac.mm +0 -222
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dd9d811276727fc5e26cbc71d0e9b2daa725e6c
|
4
|
+
data.tar.gz: 102374ca1712c842dfcee84a1ca1126f249bead9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54e65a75e825089dfc9a3facbec4e1cce0890e19ef3819ad1be9c85d211556eca716f6f85b0c75339bd234d2ef9cafbc41d3162d35370e34a06e7299fe7e129a
|
7
|
+
data.tar.gz: 1fc52fd3b82082cdbf6ec50575461f6579d0da13940931d02ebaf3e6fa1d82e05ed335e592bddddcd7cfb661ff28860e83c3240f7b04003a6e4523b2299f8743
|
data/Gosu/Version.hpp
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
#define GOSU_MAJOR_VERSION 0
|
5
5
|
#define GOSU_MINOR_VERSION 10
|
6
|
-
#define GOSU_POINT_VERSION
|
7
|
-
#define GOSU_VERSION "0.10.
|
6
|
+
#define GOSU_POINT_VERSION 3
|
7
|
+
#define GOSU_VERSION "0.10.3"
|
8
8
|
|
9
9
|
#define GOSU_COPYRIGHT_NOTICE \
|
10
10
|
"This software uses the following third-party libraries:\n" \
|
data/ext/gosu/gosu_wrap.cxx
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 3.0.
|
3
|
+
* Version 3.0.7
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
@@ -2183,7 +2183,7 @@ static VALUE mGosu;
|
|
2183
2183
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
2184
2184
|
|
2185
2185
|
|
2186
|
-
#define SWIGVERSION
|
2186
|
+
#define SWIGVERSION 0x030007
|
2187
2187
|
#define SWIG_VERSION SWIGVERSION
|
2188
2188
|
|
2189
2189
|
|
@@ -2467,7 +2467,7 @@ SWIG_ruby_failed(void)
|
|
2467
2467
|
}
|
2468
2468
|
|
2469
2469
|
|
2470
|
-
/*@SWIG:/usr/local/Cellar/swig/3.0.
|
2470
|
+
/*@SWIG:/usr/local/Cellar/swig/3.0.7/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2471
2471
|
SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
|
2472
2472
|
{
|
2473
2473
|
VALUE obj = args[0];
|
@@ -2509,7 +2509,7 @@ SWIG_From_unsigned_SS_int (unsigned int value)
|
|
2509
2509
|
#include <string>
|
2510
2510
|
|
2511
2511
|
|
2512
|
-
/*@SWIG:/usr/local/Cellar/swig/3.0.
|
2512
|
+
/*@SWIG:/usr/local/Cellar/swig/3.0.7/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2513
2513
|
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
|
2514
2514
|
{
|
2515
2515
|
VALUE obj = args[0];
|
@@ -2608,7 +2608,7 @@ SWIG_From_bool (bool value)
|
|
2608
2608
|
}
|
2609
2609
|
|
2610
2610
|
|
2611
|
-
/*@SWIG:/usr/local/Cellar/swig/3.0.
|
2611
|
+
/*@SWIG:/usr/local/Cellar/swig/3.0.7/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2612
2612
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
|
2613
2613
|
{
|
2614
2614
|
VALUE obj = args[0];
|
@@ -11169,8 +11169,8 @@ SWIGEXPORT void Init_gosu(void) {
|
|
11169
11169
|
SWIG_RubyInitializeTrackings();
|
11170
11170
|
rb_define_const(mGosu, "MAJOR_VERSION", SWIG_From_int(static_cast< int >(0)));
|
11171
11171
|
rb_define_const(mGosu, "MINOR_VERSION", SWIG_From_int(static_cast< int >(10)));
|
11172
|
-
rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(
|
11173
|
-
rb_define_const(mGosu, "VERSION", SWIG_FromCharPtr("0.10.
|
11172
|
+
rb_define_const(mGosu, "POINT_VERSION", SWIG_From_int(static_cast< int >(3)));
|
11173
|
+
rb_define_const(mGosu, "VERSION", SWIG_FromCharPtr("0.10.3"));
|
11174
11174
|
rb_define_const(mGosu, "GOSU_COPYRIGHT_NOTICE", SWIG_FromCharPtr("This software uses the following third-party libraries:\n\nGosu, http://www.libgosu.org, MIT License, http://opensource.org/licenses/MIT\nSDL 2, http://www.libsdl.org, MIT License, http://opensource.org/licenses/MIT\nlibsndfile, http://www.mega-nerd.com/libsndfile, GNU LGPL 3, http://www.gnu.org/copyleft/lesser.html\nOpenAL Soft, http://kcat.strangesoft.net/openal.html, GNU LGPL 2, http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html\n"));
|
11175
11175
|
rb_define_module_function(mGosu, "milliseconds", VALUEFUNC(_wrap_milliseconds), -1);
|
11176
11176
|
rb_define_module_function(mGosu, "random", VALUEFUNC(_wrap_random), -1);
|
data/ext/gosu/gosu_wrap.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version 3.0.
|
3
|
+
* Version 3.0.7
|
4
4
|
*
|
5
5
|
* This file is not intended to be easily readable and contains a number of
|
6
6
|
* coding conventions designed to improve portability and efficiency. Do not make
|
data/src/Input/TextInput.cpp
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#include <Gosu/TextInput.hpp>
|
2
2
|
#include <Gosu/Input.hpp>
|
3
|
+
#include <Gosu/Platform.hpp>
|
3
4
|
#include <Gosu/Utility.hpp>
|
4
5
|
#include <SDL.h>
|
5
6
|
#include <cwctype>
|
@@ -199,26 +200,47 @@ bool Gosu::TextInput::feedSDLEvent(void* event)
|
|
199
200
|
return false;
|
200
201
|
}
|
201
202
|
|
202
|
-
|
203
|
+
#ifdef GOSU_IS_MAC
|
204
|
+
bool words = (e->key.keysym.mod & (KMOD_LALT | KMOD_RALT));
|
205
|
+
bool commandDown = (e->key.keysym.mod & (KMOD_LGUI | KMOD_RGUI));
|
206
|
+
#else
|
207
|
+
bool words = (e->key.keysym.mod & (KMOD_LCTRL | KMOD_RCTRL));
|
208
|
+
#endif
|
203
209
|
bool shiftDown = (e->key.keysym.mod & (KMOD_LSHIFT | KMOD_RSHIFT));
|
204
210
|
SDL_Keycode key = e->key.keysym.sym;
|
205
211
|
|
206
212
|
switch (key) {
|
207
213
|
case SDLK_LEFT:
|
208
|
-
|
214
|
+
#ifdef GOSU_IS_MAC
|
215
|
+
if (commandDown)
|
216
|
+
pimpl->moveToBeginningOfLine(! shiftDown);
|
217
|
+
else
|
218
|
+
#endif
|
219
|
+
if (words)
|
209
220
|
pimpl->moveWordLeft(! shiftDown);
|
210
221
|
else
|
211
222
|
pimpl->moveLeft(! shiftDown);
|
212
223
|
return true;
|
213
224
|
case SDLK_RIGHT:
|
214
|
-
|
225
|
+
#ifdef GOSU_IS_MAC
|
226
|
+
if (commandDown)
|
227
|
+
pimpl->moveToEndOfLine(! shiftDown);
|
228
|
+
else
|
229
|
+
#endif
|
230
|
+
if (words)
|
215
231
|
pimpl->moveWordRight(! shiftDown);
|
216
232
|
else
|
217
233
|
pimpl->moveRight(! shiftDown);
|
218
234
|
return true;
|
235
|
+
#ifdef GOSU_IS_MAC
|
236
|
+
case SDLK_UP:
|
237
|
+
#endif
|
219
238
|
case SDLK_HOME:
|
220
239
|
pimpl->moveToBeginningOfLine(! shiftDown);
|
221
240
|
return true;
|
241
|
+
#ifdef GOSU_IS_MAC
|
242
|
+
case SDLK_DOWN:
|
243
|
+
#endif
|
222
244
|
case SDLK_END:
|
223
245
|
pimpl->moveToEndOfLine(! shiftDown);
|
224
246
|
return true;
|
data/src/Text/TextWin.cpp
CHANGED
@@ -119,7 +119,7 @@ namespace Gosu
|
|
119
119
|
DEFAULT_PITCH | FF_DONTCARE };
|
120
120
|
|
121
121
|
// Don't rely on wcsncpy being in std::...
|
122
|
-
using
|
122
|
+
using namespace std;
|
123
123
|
wcsncpy(logfont.lfFaceName, fontName.c_str(), LF_FACESIZE);
|
124
124
|
logfont.lfFaceName[LF_FACESIZE - 1] = 0;
|
125
125
|
|
data/src/Window.cpp
CHANGED
@@ -119,8 +119,6 @@ Gosu::Window::Window(unsigned width, unsigned height, bool fullscreen, double up
|
|
119
119
|
}
|
120
120
|
}
|
121
121
|
|
122
|
-
// TODO - it would be better/enough to only do this in show()
|
123
|
-
|
124
122
|
SDL_SetWindowTitle(sharedWindow(), "");
|
125
123
|
SDL_SetWindowSize(sharedWindow(), actualWidth, actualHeight);
|
126
124
|
SDL_SetWindowPosition(sharedWindow(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
|
@@ -128,8 +126,7 @@ Gosu::Window::Window(unsigned width, unsigned height, bool fullscreen, double up
|
|
128
126
|
{
|
129
127
|
SDL_SetWindowFullscreen(sharedWindow(), fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
|
130
128
|
}
|
131
|
-
|
132
|
-
|
129
|
+
|
133
130
|
#if SDL_VERSION_ATLEAST(2, 0, 1)
|
134
131
|
SDL_GL_GetDrawableSize(sharedWindow(), &actualWidth, &actualHeight);
|
135
132
|
#endif
|
@@ -183,12 +180,19 @@ void Gosu::Window::show()
|
|
183
180
|
|
184
181
|
bool Gosu::Window::tick()
|
185
182
|
{
|
183
|
+
if (SDL_GetWindowFlags(sharedWindow()) & SDL_WINDOW_HIDDEN) {
|
184
|
+
SDL_ShowWindow(sharedWindow());
|
185
|
+
}
|
186
|
+
|
186
187
|
SDL_Event e;
|
187
188
|
while (SDL_PollEvent(&e)) {
|
188
|
-
if (e.type == SDL_QUIT)
|
189
|
+
if (e.type == SDL_QUIT) {
|
190
|
+
SDL_HideWindow(sharedWindow());
|
189
191
|
return false;
|
190
|
-
|
192
|
+
}
|
193
|
+
else {
|
191
194
|
input().feedSDLEvent(&e);
|
195
|
+
}
|
192
196
|
}
|
193
197
|
|
194
198
|
Song::update();
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gosu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Raschke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
2D game development library.
|
@@ -100,7 +100,6 @@ files:
|
|
100
100
|
- src/DirectoriesApple.mm
|
101
101
|
- src/Graphics/ResolutionApple.mm
|
102
102
|
- src/Input/InputUIKit.mm
|
103
|
-
- src/Input/TextInputMac.mm
|
104
103
|
- src/Text/TextApple.mm
|
105
104
|
- src/UIKit/GosuAppDelegate.mm
|
106
105
|
- src/UIKit/GosuGLView.mm
|
data/src/Input/TextInputMac.mm
DELETED
@@ -1,222 +0,0 @@
|
|
1
|
-
#include <Gosu/TextInput.hpp>
|
2
|
-
#include <Gosu/Buttons.hpp>
|
3
|
-
#include "MacUtility.hpp"
|
4
|
-
#include <algorithm>
|
5
|
-
#include <vector>
|
6
|
-
#include <wctype.h>
|
7
|
-
|
8
|
-
#import <Cocoa/Cocoa.h>
|
9
|
-
|
10
|
-
#define CARET_POS (*_caretPos)
|
11
|
-
#define SEL_START (*_selectionStart)
|
12
|
-
#define IMPL_WITH_SEL_RESET(selector) \
|
13
|
-
- (void)selector:(id)sender \
|
14
|
-
{ \
|
15
|
-
[self selector##AndModifySelection:sender]; \
|
16
|
-
SEL_START = CARET_POS; \
|
17
|
-
}
|
18
|
-
|
19
|
-
@interface GosuTextInput : NSResponder
|
20
|
-
{
|
21
|
-
Gosu::TextInput* _filter;
|
22
|
-
std::wstring* _text;
|
23
|
-
unsigned* _caretPos;
|
24
|
-
unsigned* _selectionStart;
|
25
|
-
}
|
26
|
-
@end
|
27
|
-
@implementation GosuTextInput
|
28
|
-
- (void)insertText:(id)insertString
|
29
|
-
{
|
30
|
-
// Delete (overwrite) previous selection.
|
31
|
-
if (CARET_POS != SEL_START)
|
32
|
-
{
|
33
|
-
unsigned min = std::min(CARET_POS, SEL_START);
|
34
|
-
unsigned max = std::max(CARET_POS, SEL_START);
|
35
|
-
_text->erase(_text->begin() + min, _text->begin() + max);
|
36
|
-
CARET_POS = SEL_START = min;
|
37
|
-
}
|
38
|
-
|
39
|
-
NSString* str = (NSString*)insertString;
|
40
|
-
|
41
|
-
if ([str length] == 0)
|
42
|
-
return;
|
43
|
-
|
44
|
-
std::vector<unichar> unibuf([str length]);
|
45
|
-
[str getCharacters: &unibuf[0]];
|
46
|
-
|
47
|
-
std::wstring text = _filter->filter(std::wstring(unibuf.begin(), unibuf.end()));
|
48
|
-
|
49
|
-
_text->insert(_text->begin() + CARET_POS, text.begin(), text.end());
|
50
|
-
(CARET_POS) += text.size();
|
51
|
-
(SEL_START) = CARET_POS;
|
52
|
-
}
|
53
|
-
|
54
|
-
// Movement.
|
55
|
-
|
56
|
-
- (void)moveLeftAndModifySelection:(id)sender
|
57
|
-
{
|
58
|
-
if (CARET_POS > 0)
|
59
|
-
(CARET_POS) -= 1;
|
60
|
-
}
|
61
|
-
- (void)moveRightAndModifySelection:(id)sender
|
62
|
-
{
|
63
|
-
if (CARET_POS < _text->length())
|
64
|
-
(CARET_POS) += 1;
|
65
|
-
}
|
66
|
-
- (void)moveUpAndModifySelection:(id)sender
|
67
|
-
{
|
68
|
-
CARET_POS = 0;
|
69
|
-
}
|
70
|
-
- (void)moveDownAndModifySelection:(id)sender
|
71
|
-
{
|
72
|
-
CARET_POS = _text->length();
|
73
|
-
}
|
74
|
-
- (void)moveToBeginningOfLineAndModifySelection:(id)sender
|
75
|
-
{
|
76
|
-
[self moveUpAndModifySelection: sender];
|
77
|
-
}
|
78
|
-
- (void)moveToEndOfLineAndModifySelection:(id)sender
|
79
|
-
{
|
80
|
-
[self moveDownAndModifySelection: sender];
|
81
|
-
}
|
82
|
-
- (void)moveToBeginningOfDocumentAndModifySelection:(id)sender
|
83
|
-
{
|
84
|
-
[self moveUpAndModifySelection: sender];
|
85
|
-
}
|
86
|
-
- (void)moveToEndOfDocumentAndModifySelection:(id)sender
|
87
|
-
{
|
88
|
-
[self moveDownAndModifySelection: sender];
|
89
|
-
}
|
90
|
-
- (void)moveWordLeftAndModifySelection:(id)sender
|
91
|
-
{
|
92
|
-
if (CARET_POS == _text->length())
|
93
|
-
--CARET_POS;
|
94
|
-
|
95
|
-
while (CARET_POS > 0 && iswspace(_text->at(CARET_POS - 1)))
|
96
|
-
--CARET_POS;
|
97
|
-
|
98
|
-
while (CARET_POS > 0 && !iswspace(_text->at(CARET_POS - 1)))
|
99
|
-
--CARET_POS;
|
100
|
-
}
|
101
|
-
- (void)moveWordRightAndModifySelection:(id)sender
|
102
|
-
{
|
103
|
-
while (CARET_POS < _text->length() && iswspace(_text->at(CARET_POS)))
|
104
|
-
++CARET_POS;
|
105
|
-
|
106
|
-
while (CARET_POS < _text->length() && !iswspace(_text->at(CARET_POS)))
|
107
|
-
++CARET_POS;
|
108
|
-
}
|
109
|
-
|
110
|
-
IMPL_WITH_SEL_RESET(moveLeft)
|
111
|
-
IMPL_WITH_SEL_RESET(moveRight)
|
112
|
-
IMPL_WITH_SEL_RESET(moveUp)
|
113
|
-
IMPL_WITH_SEL_RESET(moveDown)
|
114
|
-
IMPL_WITH_SEL_RESET(moveWordLeft)
|
115
|
-
IMPL_WITH_SEL_RESET(moveWordRight)
|
116
|
-
IMPL_WITH_SEL_RESET(moveToBeginningOfLine)
|
117
|
-
IMPL_WITH_SEL_RESET(moveToEndOfLine)
|
118
|
-
IMPL_WITH_SEL_RESET(moveToBeginningOfDocument)
|
119
|
-
IMPL_WITH_SEL_RESET(moveToEndOfDocument)
|
120
|
-
|
121
|
-
// Deletion.
|
122
|
-
|
123
|
-
- (void)deleteBackward:(id)sender
|
124
|
-
{
|
125
|
-
if (CARET_POS == SEL_START && CARET_POS > 0)
|
126
|
-
--CARET_POS;
|
127
|
-
[self insertText: @""];
|
128
|
-
}
|
129
|
-
- (void)deleteForward:(id)sender
|
130
|
-
{
|
131
|
-
if (CARET_POS == SEL_START && CARET_POS < _text->length())
|
132
|
-
++CARET_POS;
|
133
|
-
[self insertText: @""];
|
134
|
-
}
|
135
|
-
|
136
|
-
// TODO: Advanced deletion (deleteWord...)
|
137
|
-
|
138
|
-
// Selection.
|
139
|
-
|
140
|
-
- (void)selectAll:(id)sender
|
141
|
-
{
|
142
|
-
SEL_START = 0;
|
143
|
-
CARET_POS = _text->length();
|
144
|
-
}
|
145
|
-
|
146
|
-
// TODO: Cmd+A should really be hard-coded into selectAll.
|
147
|
-
|
148
|
-
// Helper to set up this instance.
|
149
|
-
|
150
|
-
- (void)setFilter:(Gosu::TextInput&)filter andText:(std::wstring&)text
|
151
|
-
andCaretPos:(unsigned&)caretPos andSelectionStart:(unsigned&)selectionStart
|
152
|
-
{
|
153
|
-
_filter = &filter;
|
154
|
-
_text = &text;
|
155
|
-
_caretPos = &caretPos;
|
156
|
-
_selectionStart = &selectionStart;
|
157
|
-
}
|
158
|
-
@end
|
159
|
-
|
160
|
-
struct Gosu::TextInput::Impl
|
161
|
-
{
|
162
|
-
ObjRef<GosuTextInput> responder;
|
163
|
-
std::wstring text;
|
164
|
-
unsigned caretPos, selectionStart;
|
165
|
-
Impl() : caretPos(0), selectionStart(0) {}
|
166
|
-
};
|
167
|
-
|
168
|
-
Gosu::TextInput::TextInput()
|
169
|
-
: pimpl(new Impl)
|
170
|
-
{
|
171
|
-
pimpl->responder.reset([[GosuTextInput alloc] init]);
|
172
|
-
[pimpl->responder.get() setFilter: *this andText: pimpl->text
|
173
|
-
andCaretPos: pimpl->caretPos andSelectionStart: pimpl->selectionStart];
|
174
|
-
}
|
175
|
-
|
176
|
-
Gosu::TextInput::~TextInput()
|
177
|
-
{
|
178
|
-
}
|
179
|
-
|
180
|
-
std::wstring Gosu::TextInput::text() const
|
181
|
-
{
|
182
|
-
return pimpl->text;
|
183
|
-
}
|
184
|
-
|
185
|
-
void Gosu::TextInput::setText(const std::wstring& text)
|
186
|
-
{
|
187
|
-
pimpl->text = text;
|
188
|
-
pimpl->caretPos = pimpl->selectionStart = text.length();
|
189
|
-
}
|
190
|
-
|
191
|
-
unsigned Gosu::TextInput::caretPos() const
|
192
|
-
{
|
193
|
-
return pimpl->caretPos;
|
194
|
-
}
|
195
|
-
|
196
|
-
void Gosu::TextInput::setCaretPos(unsigned pos)
|
197
|
-
{
|
198
|
-
pimpl->caretPos = pos;
|
199
|
-
}
|
200
|
-
|
201
|
-
unsigned Gosu::TextInput::selectionStart() const
|
202
|
-
{
|
203
|
-
return pimpl->selectionStart;
|
204
|
-
}
|
205
|
-
|
206
|
-
void Gosu::TextInput::setSelectionStart(unsigned pos)
|
207
|
-
{
|
208
|
-
pimpl->selectionStart = pos;
|
209
|
-
}
|
210
|
-
|
211
|
-
bool Gosu::TextInput::feedNSEvent(void* event)
|
212
|
-
{
|
213
|
-
NSEvent* nsEvent = (NSEvent*)event;
|
214
|
-
long keyCode = [nsEvent keyCode];
|
215
|
-
if (keyCode != kbEscape && keyCode != kbTab && keyCode != kbReturn && keyCode != kbEnter)
|
216
|
-
{
|
217
|
-
[pimpl->responder.get() interpretKeyEvents: [NSArray arrayWithObject: nsEvent]];
|
218
|
-
return true;
|
219
|
-
}
|
220
|
-
else
|
221
|
-
return false;
|
222
|
-
}
|