| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 #include <X11/Xlib.h> | 8 #include <X11/Xlib.h> |
| 9 #include <X11/Xatom.h> | 9 #include <X11/Xatom.h> |
| 10 #include <X11/XKBlib.h> | 10 #include <X11/XKBlib.h> |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 this->initWindow(0, nullptr); | 40 this->initWindow(0, nullptr); |
| 41 this->resize(WIDTH, HEIGHT); | 41 this->resize(WIDTH, HEIGHT); |
| 42 } | 42 } |
| 43 | 43 |
| 44 SkOSWindow::~SkOSWindow() { | 44 SkOSWindow::~SkOSWindow() { |
| 45 this->internalCloseWindow(); | 45 this->internalCloseWindow(); |
| 46 } | 46 } |
| 47 | 47 |
| 48 void SkOSWindow::internalCloseWindow() { | 48 void SkOSWindow::internalCloseWindow() { |
| 49 if (fUnixWindow.fDisplay) { | 49 if (fUnixWindow.fDisplay) { |
| 50 this->detach(); | 50 this->release(); |
| 51 SkASSERT(fUnixWindow.fGc); | 51 SkASSERT(fUnixWindow.fGc); |
| 52 XFreeGC(fUnixWindow.fDisplay, fUnixWindow.fGc); | 52 XFreeGC(fUnixWindow.fDisplay, fUnixWindow.fGc); |
| 53 fUnixWindow.fGc = nullptr; | 53 fUnixWindow.fGc = nullptr; |
| 54 XDestroyWindow(fUnixWindow.fDisplay, fUnixWindow.fWin); | 54 XDestroyWindow(fUnixWindow.fDisplay, fUnixWindow.fWin); |
| 55 fVi = nullptr; | 55 fVi = nullptr; |
| 56 XCloseDisplay(fUnixWindow.fDisplay); | 56 XCloseDisplay(fUnixWindow.fDisplay); |
| 57 fUnixWindow.fDisplay = nullptr; | 57 fUnixWindow.fDisplay = nullptr; |
| 58 fMSAASampleCount = 0; | 58 fMSAASampleCount = 0; |
| 59 } | 59 } |
| 60 } | 60 } |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 fUnixWindow.fGLContext); | 371 fUnixWindow.fGLContext); |
| 372 glViewport(0, 0, | 372 glViewport(0, 0, |
| 373 SkScalarRoundToInt(this->width()), | 373 SkScalarRoundToInt(this->width()), |
| 374 SkScalarRoundToInt(this->height())); | 374 SkScalarRoundToInt(this->height())); |
| 375 glClearColor(0, 0, 0, 0); | 375 glClearColor(0, 0, 0, 0); |
| 376 glClearStencil(0); | 376 glClearStencil(0); |
| 377 glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); | 377 glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); |
| 378 return true; | 378 return true; |
| 379 } | 379 } |
| 380 | 380 |
| 381 void SkOSWindow::detach() { | 381 void SkOSWindow::release() { |
| 382 if (nullptr == fUnixWindow.fDisplay || nullptr == fUnixWindow.fGLContext) { | 382 if (nullptr == fUnixWindow.fDisplay || nullptr == fUnixWindow.fGLContext) { |
| 383 return; | 383 return; |
| 384 } | 384 } |
| 385 glXMakeCurrent(fUnixWindow.fDisplay, None, nullptr); | 385 glXMakeCurrent(fUnixWindow.fDisplay, None, nullptr); |
| 386 glXDestroyContext(fUnixWindow.fDisplay, fUnixWindow.fGLContext); | 386 glXDestroyContext(fUnixWindow.fDisplay, fUnixWindow.fGLContext); |
| 387 fUnixWindow.fGLContext = nullptr; | 387 fUnixWindow.fGLContext = nullptr; |
| 388 } | 388 } |
| 389 | 389 |
| 390 void SkOSWindow::present() { | 390 void SkOSWindow::present() { |
| 391 if (fUnixWindow.fDisplay && fUnixWindow.fGLContext) { | 391 if (fUnixWindow.fDisplay && fUnixWindow.fGLContext) { |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 | 510 |
| 511 void SkEvent::SignalNonEmptyQueue() { | 511 void SkEvent::SignalNonEmptyQueue() { |
| 512 // nothing to do, since we spin on our event-queue, polling for XPending | 512 // nothing to do, since we spin on our event-queue, polling for XPending |
| 513 } | 513 } |
| 514 | 514 |
| 515 void SkEvent::SignalQueueTimer(SkMSec delay) { | 515 void SkEvent::SignalQueueTimer(SkMSec delay) { |
| 516 // just need to record the delay time. We handle waking up for it in | 516 // just need to record the delay time. We handle waking up for it in |
| 517 // MyXNextEventWithDelay() | 517 // MyXNextEventWithDelay() |
| 518 gTimerDelay = delay; | 518 gTimerDelay = delay; |
| 519 } | 519 } |
| OLD | NEW |