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 #include "SkTypes.h" | 7 #include "SkTypes.h" |
8 | 8 |
9 #if defined(SK_BUILD_FOR_WIN) | 9 #if defined(SK_BUILD_FOR_WIN) |
10 | 10 |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 } | 332 } |
333 if (delay) | 333 if (delay) |
334 { | 334 { |
335 gTimer = SetTimer(NULL, 0, delay, sk_timer_proc); | 335 gTimer = SetTimer(NULL, 0, delay, sk_timer_proc); |
336 //SkDebugf("SetTimer of %d returned %d\n", delay, gTimer); | 336 //SkDebugf("SetTimer of %d returned %d\n", delay, gTimer); |
337 } | 337 } |
338 } | 338 } |
339 | 339 |
340 #if SK_SUPPORT_GPU | 340 #if SK_SUPPORT_GPU |
341 | 341 |
342 bool SkOSWindow::attachGL(int msaaSampleCount, AttachmentInfo* info) { | 342 bool SkOSWindow::attachGL(int msaaSampleCount, bool tenBitColor, AttachmentInfo*
info) { |
343 HDC dc = GetDC((HWND)fHWND); | 343 HDC dc = GetDC((HWND)fHWND); |
344 if (NULL == fHGLRC) { | 344 if (NULL == fHGLRC) { |
345 fHGLRC = SkCreateWGLContext(dc, msaaSampleCount, | 345 fHGLRC = SkCreateWGLContext(dc, msaaSampleCount, tenBitColor, |
346 kGLPreferCompatibilityProfile_SkWGLContextRequest); | 346 kGLPreferCompatibilityProfile_SkWGLContextRequest); |
347 if (NULL == fHGLRC) { | 347 if (NULL == fHGLRC) { |
348 return false; | 348 return false; |
349 } | 349 } |
350 glClearStencil(0); | 350 glClearStencil(0); |
351 glClearColor(0, 0, 0, 0); | 351 glClearColor(0, 0, 0, 0); |
352 glStencilMask(0xffffffff); | 352 glStencilMask(0xffffffff); |
353 glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT); | 353 glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT); |
354 } | 354 } |
355 if (wglMakeCurrent(dc, (HGLRC)fHGLRC)) { | 355 if (wglMakeCurrent(dc, (HGLRC)fHGLRC)) { |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 } | 644 } |
645 | 645 |
646 void SkOSWindow::presentCommandBuffer() { | 646 void SkOSWindow::presentCommandBuffer() { |
647 fCommandBuffer->presentCommandBuffer(); | 647 fCommandBuffer->presentCommandBuffer(); |
648 } | 648 } |
649 #endif // SK_COMMAND_BUFFER | 649 #endif // SK_COMMAND_BUFFER |
650 | 650 |
651 #endif // SK_SUPPORT_GPU | 651 #endif // SK_SUPPORT_GPU |
652 | 652 |
653 // return true on success | 653 // return true on success |
654 bool SkOSWindow::attach(SkBackEndTypes attachType, int msaaSampleCount, Attachme
ntInfo* info) { | 654 bool SkOSWindow::attach(SkBackEndTypes attachType, int msaaSampleCount, bool ten
BitColor, |
| 655 AttachmentInfo* info) { |
655 | 656 |
656 // attach doubles as "windowResize" so we need to allo | 657 // attach doubles as "windowResize" so we need to allo |
657 // already bound states to pass through again | 658 // already bound states to pass through again |
658 // TODO: split out the resize functionality | 659 // TODO: split out the resize functionality |
659 // SkASSERT(kNone_BackEndType == fAttached); | 660 // SkASSERT(kNone_BackEndType == fAttached); |
660 bool result = true; | 661 bool result = true; |
661 | 662 |
662 switch (attachType) { | 663 switch (attachType) { |
663 case kNone_BackEndType: | 664 case kNone_BackEndType: |
664 // nothing to do | 665 // nothing to do |
665 break; | 666 break; |
666 #if SK_SUPPORT_GPU | 667 #if SK_SUPPORT_GPU |
667 case kNativeGL_BackEndType: | 668 case kNativeGL_BackEndType: |
668 result = attachGL(msaaSampleCount, info); | 669 result = attachGL(msaaSampleCount, tenBitColor, info); |
669 break; | 670 break; |
670 #if SK_ANGLE | 671 #if SK_ANGLE |
671 case kANGLE_BackEndType: | 672 case kANGLE_BackEndType: |
672 result = attachANGLE(msaaSampleCount, info); | 673 result = attachANGLE(msaaSampleCount, info); |
673 break; | 674 break; |
674 #endif // SK_ANGLE | 675 #endif // SK_ANGLE |
675 #if SK_COMMAND_BUFFER | 676 #if SK_COMMAND_BUFFER |
676 case kCommandBuffer_BackEndType: | 677 case kCommandBuffer_BackEndType: |
677 result = attachCommandBuffer(msaaSampleCount, info); | 678 result = attachCommandBuffer(msaaSampleCount, info); |
678 break; | 679 break; |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 } | 827 } |
827 | 828 |
828 void SkOSWindow::closeWindow() { | 829 void SkOSWindow::closeWindow() { |
829 DestroyWindow((HWND)fHWND); | 830 DestroyWindow((HWND)fHWND); |
830 if (fFullscreen) { | 831 if (fFullscreen) { |
831 DestroyWindow((HWND)fSavedWindowState.fHWND); | 832 DestroyWindow((HWND)fSavedWindowState.fHWND); |
832 } | 833 } |
833 gHwndToOSWindowMap.remove(fHWND); | 834 gHwndToOSWindowMap.remove(fHWND); |
834 } | 835 } |
835 #endif | 836 #endif |
OLD | NEW |