| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #import "SkNSView.h" | 8 #import "SkNSView.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkSurface.h" | 10 #include "SkSurface.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 - (void)freeNativeWind { | 127 - (void)freeNativeWind { |
| 128 delete fWind; | 128 delete fWind; |
| 129 fWind = nil; | 129 fWind = nil; |
| 130 } | 130 } |
| 131 | 131 |
| 132 //////////////////////////////////////////////////////////////////////////////// | 132 //////////////////////////////////////////////////////////////////////////////// |
| 133 | 133 |
| 134 - (void)drawSkia { | 134 - (void)drawSkia { |
| 135 fRedrawRequestPending = false; | 135 fRedrawRequestPending = false; |
| 136 if (fWind) { | 136 if (fWind) { |
| 137 SkAutoTUnref<SkSurface> surface(fWind->createSurface()); | 137 sk_sp<SkSurface> surface(fWind->makeSurface()); |
| 138 fWind->draw(surface->getCanvas()); | 138 fWind->draw(surface->getCanvas()); |
| 139 #ifdef FORCE_REDRAW | 139 #ifdef FORCE_REDRAW |
| 140 fWind->inval(NULL); | 140 fWind->inval(NULL); |
| 141 #endif | 141 #endif |
| 142 } | 142 } |
| 143 } | 143 } |
| 144 | 144 |
| 145 - (void)setSkTitle:(const char *)title { | 145 - (void)setSkTitle:(const char *)title { |
| 146 self.fTitle = [NSString stringWithUTF8String:title]; | 146 self.fTitle = [NSString stringWithUTF8String:title]; |
| 147 [[self window] setTitle:self.fTitle]; | 147 [[self window] setTitle:self.fTitle]; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 164 if (!fRedrawRequestPending) { | 164 if (!fRedrawRequestPending) { |
| 165 fRedrawRequestPending = true; | 165 fRedrawRequestPending = true; |
| 166 [self setNeedsDisplay:YES]; | 166 [self setNeedsDisplay:YES]; |
| 167 [self performSelector:@selector(drawSkia) withObject:nil afterDelay:0]; | 167 [self performSelector:@selector(drawSkia) withObject:nil afterDelay:0]; |
| 168 } | 168 } |
| 169 } | 169 } |
| 170 /////////////////////////////////////////////////////////////////////////////// | 170 /////////////////////////////////////////////////////////////////////////////// |
| 171 | 171 |
| 172 #include "SkKey.h" | 172 #include "SkKey.h" |
| 173 enum { | 173 enum { |
| 174 » SK_MacReturnKey»» = 36, | 174 SK_MacReturnKey» » = 36, |
| 175 » SK_MacDeleteKey»» = 51, | 175 SK_MacDeleteKey» » = 51, |
| 176 » SK_MacEndKey» » = 119, | 176 SK_MacEndKey» » = 119, |
| 177 » SK_MacLeftKey» » = 123, | 177 SK_MacLeftKey» » = 123, |
| 178 » SK_MacRightKey» » = 124, | 178 SK_MacRightKey» » = 124, |
| 179 » SK_MacDownKey» » = 125, | 179 SK_MacDownKey» » = 125, |
| 180 » SK_MacUpKey» » » = 126, | 180 SK_MacUpKey»» » = 126, |
| 181 SK_Mac0Key = 0x52, | 181 SK_Mac0Key = 0x52, |
| 182 SK_Mac1Key = 0x53, | 182 SK_Mac1Key = 0x53, |
| 183 SK_Mac2Key = 0x54, | 183 SK_Mac2Key = 0x54, |
| 184 SK_Mac3Key = 0x55, | 184 SK_Mac3Key = 0x55, |
| 185 SK_Mac4Key = 0x56, | 185 SK_Mac4Key = 0x56, |
| 186 SK_Mac5Key = 0x57, | 186 SK_Mac5Key = 0x57, |
| 187 SK_Mac6Key = 0x58, | 187 SK_Mac6Key = 0x58, |
| 188 SK_Mac7Key = 0x59, | 188 SK_Mac7Key = 0x59, |
| 189 SK_Mac8Key = 0x5b, | 189 SK_Mac8Key = 0x5b, |
| 190 SK_Mac9Key = 0x5c | 190 SK_Mac9Key = 0x5c |
| 191 }; | 191 }; |
| 192 | 192 |
| 193 static SkKey raw2key(UInt32 raw) | 193 static SkKey raw2key(UInt32 raw) |
| 194 { | 194 { |
| 195 » static const struct { | 195 static const struct { |
| 196 » » UInt32 fRaw; | 196 UInt32 fRaw; |
| 197 » » SkKey fKey; | 197 SkKey fKey; |
| 198 » } gKeys[] = { | 198 } gKeys[] = { |
| 199 » » { SK_MacUpKey,» » kUp_SkKey» » }, | 199 { SK_MacUpKey,» » kUp_SkKey» » }, |
| 200 » » { SK_MacDownKey,» kDown_SkKey» » }, | 200 { SK_MacDownKey,» kDown_SkKey» » }, |
| 201 » » { SK_MacLeftKey,» kLeft_SkKey» » }, | 201 { SK_MacLeftKey,» kLeft_SkKey» » }, |
| 202 » » { SK_MacRightKey, kRight_SkKey» }, | 202 { SK_MacRightKey, kRight_SkKey» }, |
| 203 » » { SK_MacReturnKey, kOK_SkKey» » }, | 203 { SK_MacReturnKey, kOK_SkKey» » }, |
| 204 » » { SK_MacDeleteKey, kBack_SkKey»» }, | 204 { SK_MacDeleteKey, kBack_SkKey»» }, |
| 205 » » { SK_MacEndKey,»» kEnd_SkKey» » }, | 205 { SK_MacEndKey,»» kEnd_SkKey» » }, |
| 206 { SK_Mac0Key, k0_SkKey }, | 206 { SK_Mac0Key, k0_SkKey }, |
| 207 { SK_Mac1Key, k1_SkKey }, | 207 { SK_Mac1Key, k1_SkKey }, |
| 208 { SK_Mac2Key, k2_SkKey }, | 208 { SK_Mac2Key, k2_SkKey }, |
| 209 { SK_Mac3Key, k3_SkKey }, | 209 { SK_Mac3Key, k3_SkKey }, |
| 210 { SK_Mac4Key, k4_SkKey }, | 210 { SK_Mac4Key, k4_SkKey }, |
| 211 { SK_Mac5Key, k5_SkKey }, | 211 { SK_Mac5Key, k5_SkKey }, |
| 212 { SK_Mac6Key, k6_SkKey }, | 212 { SK_Mac6Key, k6_SkKey }, |
| 213 { SK_Mac7Key, k7_SkKey }, | 213 { SK_Mac7Key, k7_SkKey }, |
| 214 { SK_Mac8Key, k8_SkKey }, | 214 { SK_Mac8Key, k8_SkKey }, |
| 215 { SK_Mac9Key, k9_SkKey } | 215 { SK_Mac9Key, k9_SkKey } |
| 216 » }; | 216 }; |
| 217 | 217 |
| 218 » for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++) | 218 for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++) |
| 219 » » if (gKeys[i].fRaw == raw) | 219 if (gKeys[i].fRaw == raw) |
| 220 » » » return gKeys[i].fKey; | 220 return gKeys[i].fKey; |
| 221 » return kNONE_SkKey; | 221 return kNONE_SkKey; |
| 222 } | 222 } |
| 223 | 223 |
| 224 - (void)keyDown:(NSEvent *)event { | 224 - (void)keyDown:(NSEvent *)event { |
| 225 if (NULL == fWind) | 225 if (NULL == fWind) |
| 226 return; | 226 return; |
| 227 | 227 |
| 228 SkKey key = raw2key([event keyCode]); | 228 SkKey key = raw2key([event keyCode]); |
| 229 if (kNONE_SkKey != key) | 229 if (kNONE_SkKey != key) |
| 230 fWind->handleKey(key); | 230 fWind->handleKey(key); |
| 231 else{ | 231 else{ |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 } | 421 } |
| 422 | 422 |
| 423 - (void)setVSync:(bool)enable { | 423 - (void)setVSync:(bool)enable { |
| 424 if (fGLContext) { | 424 if (fGLContext) { |
| 425 GLint interval = enable ? 1 : 0; | 425 GLint interval = enable ? 1 : 0; |
| 426 CGLContextObj ctx = (CGLContextObj)[fGLContext CGLContextObj]; | 426 CGLContextObj ctx = (CGLContextObj)[fGLContext CGLContextObj]; |
| 427 CGLSetParameter(ctx, kCGLCPSwapInterval, &interval); | 427 CGLSetParameter(ctx, kCGLCPSwapInterval, &interval); |
| 428 } | 428 } |
| 429 } | 429 } |
| 430 @end | 430 @end |
| OLD | NEW |