OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PlatformColor_h | 5 // Temporary forwarding header |
6 #define PlatformColor_h | 6 #include "cc/platform_color.h" |
7 | |
8 #include "Extensions3D.h" | |
9 #include "GraphicsContext3D.h" | |
10 #include "SkTypes.h" | |
11 #include <public/WebGraphicsContext3D.h> | |
12 | |
13 namespace cc { | |
14 | |
15 class PlatformColor { | |
16 public: | |
17 static GraphicsContext3D::SourceDataFormat format() | |
18 { | |
19 return SK_B32_SHIFT ? GraphicsContext3D::SourceFormatRGBA8 : GraphicsCon
text3D::SourceFormatBGRA8; | |
20 } | |
21 | |
22 // Returns the most efficient texture format for this platform. | |
23 static GC3Denum bestTextureFormat(WebKit::WebGraphicsContext3D* context, boo
l supportsBGRA8888) | |
24 { | |
25 GC3Denum textureFormat = GraphicsContext3D::RGBA; | |
26 switch (format()) { | |
27 case GraphicsContext3D::SourceFormatRGBA8: | |
28 break; | |
29 case GraphicsContext3D::SourceFormatBGRA8: | |
30 if (supportsBGRA8888) | |
31 textureFormat = Extensions3D::BGRA_EXT; | |
32 break; | |
33 default: | |
34 ASSERT_NOT_REACHED(); | |
35 break; | |
36 } | |
37 return textureFormat; | |
38 } | |
39 | |
40 // Return true if the given texture format has the same component order | |
41 // as the color on this platform. | |
42 static bool sameComponentOrder(GC3Denum textureFormat) | |
43 { | |
44 switch (format()) { | |
45 case GraphicsContext3D::SourceFormatRGBA8: | |
46 return textureFormat == GraphicsContext3D::RGBA; | |
47 case GraphicsContext3D::SourceFormatBGRA8: | |
48 return textureFormat == Extensions3D::BGRA_EXT; | |
49 default: | |
50 ASSERT_NOT_REACHED(); | |
51 return false; | |
52 } | |
53 } | |
54 }; | |
55 | |
56 } // namespace cc | |
57 | |
58 #endif | |
OLD | NEW |