no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / gfx / 2d / Types.cpp
blob89de1182eb50894469383444dbf5077e855eb061
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "Types.h"
9 #include "nsPrintfCString.h"
11 #include <ostream>
13 namespace mozilla {
15 std::ostream& operator<<(std::ostream& aOut, const Side& aSide) {
16 #define Emit(x) \
17 case x: \
18 aOut << #x; \
19 break
21 switch (aSide) {
22 Emit(eSideTop);
23 Emit(eSideBottom);
24 Emit(eSideLeft);
25 Emit(eSideRight);
26 default:
27 NS_ERROR("unknown side");
28 aOut << int(aSide);
29 break;
32 #undef Emit
33 return aOut;
36 namespace gfx {
38 std::ostream& operator<<(std::ostream& aOut, const SurfaceFormat& aFormat) {
39 #define Emit(x) \
40 case x: \
41 aOut << #x; \
42 break
44 switch (aFormat) {
45 Emit(SurfaceFormat::B8G8R8A8);
46 Emit(SurfaceFormat::B8G8R8X8);
47 Emit(SurfaceFormat::R8G8B8A8);
48 Emit(SurfaceFormat::R8G8B8X8);
49 Emit(SurfaceFormat::A8R8G8B8);
50 Emit(SurfaceFormat::X8R8G8B8);
51 Emit(SurfaceFormat::R8G8B8);
52 Emit(SurfaceFormat::B8G8R8);
53 Emit(SurfaceFormat::R5G6B5_UINT16);
54 Emit(SurfaceFormat::A8);
55 Emit(SurfaceFormat::A16);
56 Emit(SurfaceFormat::R8G8);
57 Emit(SurfaceFormat::R16G16);
58 Emit(SurfaceFormat::YUV);
59 Emit(SurfaceFormat::NV12);
60 Emit(SurfaceFormat::P016);
61 Emit(SurfaceFormat::P010);
62 Emit(SurfaceFormat::YUV422);
63 Emit(SurfaceFormat::HSV);
64 Emit(SurfaceFormat::Lab);
65 Emit(SurfaceFormat::Depth);
66 default:
67 NS_ERROR("unknown surface format");
68 aOut << "???";
71 #undef Emit
73 return aOut;
76 std::ostream& operator<<(std::ostream& aOut, const DeviceColor& aColor) {
77 aOut << nsPrintfCString("dev_rgba(%d, %d, %d, %f)", uint8_t(aColor.r * 255.f),
78 uint8_t(aColor.g * 255.f), uint8_t(aColor.b * 255.f),
79 aColor.a)
80 .get();
81 return aOut;
84 std::ostream& operator<<(std::ostream& aOut, const SamplingFilter& aFilter) {
85 switch (aFilter) {
86 case SamplingFilter::GOOD:
87 aOut << "SamplingFilter::GOOD";
88 break;
89 case SamplingFilter::LINEAR:
90 aOut << "SamplingFilter::LINEAR";
91 break;
92 case SamplingFilter::POINT:
93 aOut << "SamplingFilter::POINT";
94 break;
95 default:
96 aOut << "???";
98 return aOut;
101 } // namespace gfx
102 } // namespace mozilla