summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/base/math_util.cc13
-rw-r--r--cc/base/math_util.h7
-rw-r--r--cc/output/gl_renderer.cc2
-rw-r--r--cc/output/overlay_candidate.cc56
-rw-r--r--cc/output/overlay_candidate.h2
-rw-r--r--cc/output/overlay_strategy_common.cc3
-rw-r--r--cc/output/overlay_unittest.cc100
-rw-r--r--cc/output/software_renderer.cc2
-rw-r--r--cc/quads/draw_quad_unittest.cc14
-rw-r--r--cc/quads/texture_draw_quad.cc12
-rw-r--r--cc/quads/texture_draw_quad.h6
-rw-r--r--components/surfaces/public/interfaces/quads.mojom2
-rw-r--r--content/common/cc_messages.h2
-rw-r--r--content/common/cc_messages_unittest.cc2
-rw-r--r--mojo/converters/surfaces/surfaces_type_converters.cc4
-rw-r--r--mojo/converters/surfaces/tests/surface_unittest.cc12
-rw-r--r--ui/gfx/overlay_transform.h2
17 files changed, 195 insertions, 46 deletions
diff --git a/cc/base/math_util.cc b/cc/base/math_util.cc
index e2fd565..969e52a 100644
--- a/cc/base/math_util.cc
+++ b/cc/base/math_util.cc
@@ -15,6 +15,7 @@
#include "ui/gfx/geometry/rect_conversions.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/vector2d_f.h"
+#include "ui/gfx/geometry/vector3d_f.h"
#include "ui/gfx/transform.h"
namespace cc {
@@ -867,4 +868,16 @@ float MathUtil::AsFloatSafely(float value) {
return std::min(value, std::numeric_limits<float>::max());
}
+gfx::Vector3dF MathUtil::GetXAxis(const gfx::Transform& transform) {
+ return gfx::Vector3dF(transform.matrix().getFloat(0, 0),
+ transform.matrix().getFloat(1, 0),
+ transform.matrix().getFloat(2, 0));
+}
+
+gfx::Vector3dF MathUtil::GetYAxis(const gfx::Transform& transform) {
+ return gfx::Vector3dF(transform.matrix().getFloat(0, 1),
+ transform.matrix().getFloat(1, 1),
+ transform.matrix().getFloat(2, 1));
+}
+
} // namespace cc
diff --git a/cc/base/math_util.h b/cc/base/math_util.h
index 56fdd17..749b9bd 100644
--- a/cc/base/math_util.h
+++ b/cc/base/math_util.h
@@ -33,6 +33,7 @@ class RectF;
class Transform;
class Vector2dF;
class Vector2d;
+class Vector3dF;
}
namespace cc {
@@ -240,6 +241,12 @@ class CC_EXPORT MathUtil {
// If the value is inf, returns max double/float representation.
static double AsDoubleSafely(double value);
static float AsFloatSafely(float value);
+
+ // Returns vector that x axis (1,0,0) transforms to under given transform.
+ static gfx::Vector3dF GetXAxis(const gfx::Transform& transform);
+
+ // Returns vector that y axis (0,1,0) transforms to under given transform.
+ static gfx::Vector3dF GetYAxis(const gfx::Transform& transform);
};
} // namespace cc
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
index cfe319b..bdb537a 100644
--- a/cc/output/gl_renderer.cc
+++ b/cc/output/gl_renderer.cc
@@ -72,7 +72,7 @@ Float4 UVTransform(const TextureDrawQuad* quad) {
gfx::PointF uv0 = quad->uv_top_left;
gfx::PointF uv1 = quad->uv_bottom_right;
Float4 xform = {{uv0.x(), uv0.y(), uv1.x() - uv0.x(), uv1.y() - uv0.y()}};
- if (quad->flipped) {
+ if (quad->y_flipped) {
xform.data[1] = 1.0f - xform.data[1];
xform.data[3] = -xform.data[3];
}
diff --git a/cc/output/overlay_candidate.cc b/cc/output/overlay_candidate.cc
index 0cbd3de..7a82570 100644
--- a/cc/output/overlay_candidate.cc
+++ b/cc/output/overlay_candidate.cc
@@ -5,11 +5,35 @@
#include "cc/output/overlay_candidate.h"
#include <algorithm>
+#include <limits>
#include "base/logging.h"
+#include "cc/base/math_util.h"
#include "ui/gfx/geometry/rect_conversions.h"
+#include "ui/gfx/geometry/vector3d_f.h"
namespace cc {
+namespace {
+// Tolerance for considering axis vector elements to be zero.
+const SkMScalar kEpsilon = std::numeric_limits<float>::epsilon();
+
+enum Axis { NONE, AXIS_POS_X, AXIS_NEG_X, AXIS_POS_Y, AXIS_NEG_Y };
+
+Axis VectorToAxis(const gfx::Vector3dF& vec) {
+ if (std::abs(vec.z()) > kEpsilon)
+ return NONE;
+ const bool x_zero = (std::abs(vec.x()) <= kEpsilon);
+ const bool y_zero = (std::abs(vec.y()) <= kEpsilon);
+ if (x_zero && !y_zero)
+ return (vec.y() > 0) ? AXIS_POS_Y : AXIS_NEG_Y;
+ else if (y_zero && !x_zero)
+ return (vec.x() > 0) ? AXIS_POS_X : AXIS_NEG_X;
+ else
+ return NONE;
+}
+
+} // namespace
+
OverlayCandidate::OverlayCandidate()
: transform(gfx::OVERLAY_TRANSFORM_NONE),
format(RGBA_8888),
@@ -23,12 +47,34 @@ OverlayCandidate::~OverlayCandidate() {}
// static
gfx::OverlayTransform OverlayCandidate::GetOverlayTransform(
const gfx::Transform& quad_transform,
- bool flipped) {
- if (!quad_transform.IsPositiveScaleOrTranslation())
+ bool y_flipped) {
+ if (!quad_transform.Preserves2dAxisAlignment()) {
return gfx::OVERLAY_TRANSFORM_INVALID;
+ }
+
+ gfx::Vector3dF x_axis = MathUtil::GetXAxis(quad_transform);
+ gfx::Vector3dF y_axis = MathUtil::GetYAxis(quad_transform);
+ if (y_flipped) {
+ y_axis.Scale(-1);
+ }
- return flipped ? gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL
- : gfx::OVERLAY_TRANSFORM_NONE;
+ Axis x_to = VectorToAxis(x_axis);
+ Axis y_to = VectorToAxis(y_axis);
+
+ if (x_to == AXIS_POS_X && y_to == AXIS_POS_Y)
+ return gfx::OVERLAY_TRANSFORM_NONE;
+ else if (x_to == AXIS_NEG_X && y_to == AXIS_POS_Y)
+ return gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL;
+ else if (x_to == AXIS_POS_X && y_to == AXIS_NEG_Y)
+ return gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL;
+ else if (x_to == AXIS_NEG_Y && y_to == AXIS_POS_X)
+ return gfx::OVERLAY_TRANSFORM_ROTATE_270;
+ else if (x_to == AXIS_NEG_X && y_to == AXIS_NEG_Y)
+ return gfx::OVERLAY_TRANSFORM_ROTATE_180;
+ else if (x_to == AXIS_POS_Y && y_to == AXIS_NEG_X)
+ return gfx::OVERLAY_TRANSFORM_ROTATE_90;
+ else
+ return gfx::OVERLAY_TRANSFORM_INVALID;
}
// static
@@ -131,7 +177,7 @@ gfx::OverlayTransform OverlayCandidate::ModifyTransform(
gfx::RectF OverlayCandidate::GetOverlayRect(
const gfx::Transform& quad_transform,
const gfx::Rect& rect) {
- DCHECK(quad_transform.IsPositiveScaleOrTranslation());
+ DCHECK(quad_transform.Preserves2dAxisAlignment());
gfx::RectF float_rect(rect);
quad_transform.TransformRect(&float_rect);
diff --git a/cc/output/overlay_candidate.h b/cc/output/overlay_candidate.h
index c6bb22a..3639635 100644
--- a/cc/output/overlay_candidate.h
+++ b/cc/output/overlay_candidate.h
@@ -19,7 +19,7 @@ class CC_EXPORT OverlayCandidate {
public:
static gfx::OverlayTransform GetOverlayTransform(
const gfx::Transform& quad_transform,
- bool flipped);
+ bool y_flipped);
// Apply transform |delta| to |in| and return the resulting transform,
// or OVERLAY_TRANSFORM_INVALID.
static gfx::OverlayTransform ModifyTransform(gfx::OverlayTransform in,
diff --git a/cc/output/overlay_strategy_common.cc b/cc/output/overlay_strategy_common.cc
index b03fbba5..be352a5 100644
--- a/cc/output/overlay_strategy_common.cc
+++ b/cc/output/overlay_strategy_common.cc
@@ -56,7 +56,8 @@ bool OverlayStrategyCommon::IsInvisibleQuad(const DrawQuad* draw_quad) {
bool OverlayStrategyCommon::GetTextureQuadInfo(const TextureDrawQuad& quad,
OverlayCandidate* quad_info) {
gfx::OverlayTransform overlay_transform =
- OverlayCandidate::GetOverlayTransform(quad.quadTransform(), quad.flipped);
+ OverlayCandidate::GetOverlayTransform(quad.quadTransform(),
+ quad.y_flipped);
if (quad.background_color != SK_ColorTRANSPARENT ||
quad.premultiplied_alpha ||
overlay_transform == gfx::OVERLAY_TRANSFORM_INVALID)
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 5694762..c9a2ae0 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -61,10 +61,14 @@ void SingleOverlayValidator::CheckOverlaySupport(
ASSERT_EQ(2U, surfaces->size());
OverlayCandidate& candidate = surfaces->back();
- if (candidate.display_rect.width() == 64)
+ if (candidate.display_rect.width() == 64) {
EXPECT_EQ(kOverlayBottomRightRect, candidate.display_rect);
- else
- EXPECT_EQ(kOverlayRect, candidate.display_rect);
+ } else {
+ EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f);
+ EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f);
+ EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f);
+ EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(), 0.01f);
+ }
EXPECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight).ToString(),
candidate.uv_rect.ToString());
candidate.overlay_handled = true;
@@ -540,7 +544,7 @@ TEST_F(SingleOverlayOnTopTest, RejectOpacity) {
EXPECT_EQ(0U, candidate_list.size());
}
-TEST_F(SingleOverlayOnTopTest, RejectNonScaleTransform) {
+TEST_F(SingleOverlayOnTopTest, RejectNonAxisAlignedTransform) {
scoped_ptr<RenderPass> pass = CreateRenderPass();
CreateFullscreenCandidateQuad(resource_provider_.get(),
pass->shared_quad_state_list.back(),
@@ -556,11 +560,13 @@ TEST_F(SingleOverlayOnTopTest, RejectNonScaleTransform) {
EXPECT_EQ(0U, candidate_list.size());
}
-TEST_F(SingleOverlayOnTopTest, RejectNegativeScaleTransform) {
+TEST_F(SingleOverlayOnTopTest, AllowVerticalFlip) {
+ gfx::Rect rect = kOverlayRect;
+ rect.set_width(rect.width() / 2);
+ rect.Offset(0, -rect.height());
scoped_ptr<RenderPass> pass = CreateRenderPass();
- CreateFullscreenCandidateQuad(resource_provider_.get(),
- pass->shared_quad_state_list.back(),
- pass.get());
+ CreateCandidateQuadAt(resource_provider_.get(),
+ pass->shared_quad_state_list.back(), pass.get(), rect);
pass->shared_quad_state_list.back()->content_to_target_transform.Scale(2.0f,
-1.0f);
@@ -569,7 +575,29 @@ TEST_F(SingleOverlayOnTopTest, RejectNegativeScaleTransform) {
OverlayCandidateList candidate_list;
overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list);
ASSERT_EQ(1U, pass_list.size());
- EXPECT_EQ(0U, candidate_list.size());
+ ASSERT_EQ(2U, candidate_list.size());
+ EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL,
+ candidate_list.back().transform);
+}
+
+TEST_F(SingleOverlayOnTopTest, AllowHorizontalFlip) {
+ gfx::Rect rect = kOverlayRect;
+ rect.set_height(rect.height() / 2);
+ rect.Offset(-rect.width(), 0);
+ scoped_ptr<RenderPass> pass = CreateRenderPass();
+ CreateCandidateQuadAt(resource_provider_.get(),
+ pass->shared_quad_state_list.back(), pass.get(), rect);
+ pass->shared_quad_state_list.back()->content_to_target_transform.Scale(-1.0f,
+ 2.0f);
+
+ RenderPassList pass_list;
+ pass_list.push_back(pass.Pass());
+ OverlayCandidateList candidate_list;
+ overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list);
+ ASSERT_EQ(1U, pass_list.size());
+ ASSERT_EQ(2U, candidate_list.size());
+ EXPECT_EQ(gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL,
+ candidate_list.back().transform);
}
TEST_F(SingleOverlayOnTopTest, AllowPositiveScaleTransform) {
@@ -589,6 +617,60 @@ TEST_F(SingleOverlayOnTopTest, AllowPositiveScaleTransform) {
EXPECT_EQ(2U, candidate_list.size());
}
+TEST_F(SingleOverlayOnTopTest, Allow90DegreeRotation) {
+ gfx::Rect rect = kOverlayRect;
+ rect.Offset(0, -rect.height());
+ scoped_ptr<RenderPass> pass = CreateRenderPass();
+ CreateCandidateQuadAt(resource_provider_.get(),
+ pass->shared_quad_state_list.back(), pass.get(), rect);
+ pass->shared_quad_state_list.back()
+ ->content_to_target_transform.RotateAboutZAxis(90.f);
+
+ RenderPassList pass_list;
+ pass_list.push_back(pass.Pass());
+ OverlayCandidateList candidate_list;
+ overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list);
+ ASSERT_EQ(1U, pass_list.size());
+ ASSERT_EQ(2U, candidate_list.size());
+ EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_90, candidate_list.back().transform);
+}
+
+TEST_F(SingleOverlayOnTopTest, Allow180DegreeRotation) {
+ gfx::Rect rect = kOverlayRect;
+ rect.Offset(-rect.width(), -rect.height());
+ scoped_ptr<RenderPass> pass = CreateRenderPass();
+ CreateCandidateQuadAt(resource_provider_.get(),
+ pass->shared_quad_state_list.back(), pass.get(), rect);
+ pass->shared_quad_state_list.back()
+ ->content_to_target_transform.RotateAboutZAxis(180.f);
+
+ RenderPassList pass_list;
+ pass_list.push_back(pass.Pass());
+ OverlayCandidateList candidate_list;
+ overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list);
+ ASSERT_EQ(1U, pass_list.size());
+ ASSERT_EQ(2U, candidate_list.size());
+ EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_180, candidate_list.back().transform);
+}
+
+TEST_F(SingleOverlayOnTopTest, Allow270DegreeRotation) {
+ gfx::Rect rect = kOverlayRect;
+ rect.Offset(-rect.width(), 0);
+ scoped_ptr<RenderPass> pass = CreateRenderPass();
+ CreateCandidateQuadAt(resource_provider_.get(),
+ pass->shared_quad_state_list.back(), pass.get(), rect);
+ pass->shared_quad_state_list.back()
+ ->content_to_target_transform.RotateAboutZAxis(270.f);
+
+ RenderPassList pass_list;
+ pass_list.push_back(pass.Pass());
+ OverlayCandidateList candidate_list;
+ overlay_processor_->ProcessForOverlays(&pass_list, &candidate_list);
+ ASSERT_EQ(1U, pass_list.size());
+ ASSERT_EQ(2U, candidate_list.size());
+ EXPECT_EQ(gfx::OVERLAY_TRANSFORM_ROTATE_270, candidate_list.back().transform);
+}
+
TEST_F(SingleOverlayOnTopTest, AllowNotTopIfNotOccluded) {
scoped_ptr<RenderPass> pass = CreateRenderPass();
CreateCheckeredQuadAt(resource_provider_.get(),
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 3520176..2013e03 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -438,7 +438,7 @@ void SoftwareRenderer::DrawTextureQuad(const DrawingFrame* frame,
QuadVertexRect(), quad->rect, quad->visible_rect);
SkRect quad_rect = gfx::RectFToSkRect(visible_quad_vertex_rect);
- if (quad->flipped)
+ if (quad->y_flipped)
current_canvas_->scale(1, -1);
bool blend_background = quad->background_color != SK_ColorTRANSPARENT &&
diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc
index 02d57ba..968a1d0 100644
--- a/cc/quads/draw_quad_unittest.cc
+++ b/cc/quads/draw_quad_unittest.cc
@@ -549,7 +549,7 @@ TEST(DrawQuadTest, CopyTextureDrawQuad) {
gfx::PointF uv_top_left(0.5f, 224.f);
gfx::PointF uv_bottom_right(51.5f, 260.f);
const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- bool flipped = true;
+ bool y_flipped = true;
bool nearest_neighbor = true;
CREATE_SHARED_STATE();
@@ -562,7 +562,7 @@ TEST(DrawQuadTest, CopyTextureDrawQuad) {
uv_bottom_right,
SK_ColorTRANSPARENT,
vertex_opacity,
- flipped,
+ y_flipped,
nearest_neighbor);
EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material);
EXPECT_EQ(visible_rect, copy_quad->visible_rect);
@@ -572,7 +572,7 @@ TEST(DrawQuadTest, CopyTextureDrawQuad) {
EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4);
- EXPECT_EQ(flipped, copy_quad->flipped);
+ EXPECT_EQ(y_flipped, copy_quad->y_flipped);
EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor);
CREATE_QUAD_8_ALL(TextureDrawQuad,
@@ -582,7 +582,7 @@ TEST(DrawQuadTest, CopyTextureDrawQuad) {
uv_bottom_right,
SK_ColorTRANSPARENT,
vertex_opacity,
- flipped,
+ y_flipped,
nearest_neighbor);
EXPECT_EQ(DrawQuad::TEXTURE_CONTENT, copy_quad->material);
EXPECT_EQ(resource_id, copy_quad->resource_id);
@@ -590,7 +590,7 @@ TEST(DrawQuadTest, CopyTextureDrawQuad) {
EXPECT_EQ(uv_top_left, copy_quad->uv_top_left);
EXPECT_EQ(uv_bottom_right, copy_quad->uv_bottom_right);
EXPECT_FLOAT_ARRAY_EQ(vertex_opacity, copy_quad->vertex_opacity, 4);
- EXPECT_EQ(flipped, copy_quad->flipped);
+ EXPECT_EQ(y_flipped, copy_quad->y_flipped);
EXPECT_EQ(nearest_neighbor, copy_quad->nearest_neighbor);
}
@@ -857,7 +857,7 @@ TEST_F(DrawQuadIteratorTest, TextureDrawQuad) {
gfx::PointF uv_top_left(0.5f, 224.f);
gfx::PointF uv_bottom_right(51.5f, 260.f);
const float vertex_opacity[] = { 1.0f, 1.0f, 1.0f, 1.0f };
- bool flipped = true;
+ bool y_flipped = true;
bool nearest_neighbor = true;
CREATE_SHARED_STATE();
@@ -870,7 +870,7 @@ TEST_F(DrawQuadIteratorTest, TextureDrawQuad) {
uv_bottom_right,
SK_ColorTRANSPARENT,
vertex_opacity,
- flipped,
+ y_flipped,
nearest_neighbor);
EXPECT_EQ(resource_id, quad_new->resource_id);
EXPECT_EQ(1, IterateAndCount(quad_new));
diff --git a/cc/quads/texture_draw_quad.cc b/cc/quads/texture_draw_quad.cc
index 318d4f8..4b8720a 100644
--- a/cc/quads/texture_draw_quad.cc
+++ b/cc/quads/texture_draw_quad.cc
@@ -16,7 +16,7 @@ TextureDrawQuad::TextureDrawQuad()
: resource_id(0),
premultiplied_alpha(false),
background_color(SK_ColorTRANSPARENT),
- flipped(false),
+ y_flipped(false),
nearest_neighbor(false) {
this->vertex_opacity[0] = 0.f;
this->vertex_opacity[1] = 0.f;
@@ -34,7 +34,7 @@ void TextureDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
const gfx::PointF& uv_bottom_right,
SkColor background_color,
const float vertex_opacity[4],
- bool flipped,
+ bool y_flipped,
bool nearest_neighbor) {
bool needs_blending = vertex_opacity[0] != 1.0f || vertex_opacity[1] != 1.0f
|| vertex_opacity[2] != 1.0f || vertex_opacity[3] != 1.0f;
@@ -49,7 +49,7 @@ void TextureDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
this->vertex_opacity[1] = vertex_opacity[1];
this->vertex_opacity[2] = vertex_opacity[2];
this->vertex_opacity[3] = vertex_opacity[3];
- this->flipped = flipped;
+ this->y_flipped = y_flipped;
this->nearest_neighbor = nearest_neighbor;
}
@@ -64,7 +64,7 @@ void TextureDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
const gfx::PointF& uv_bottom_right,
SkColor background_color,
const float vertex_opacity[4],
- bool flipped,
+ bool y_flipped,
bool nearest_neighbor) {
DrawQuad::SetAll(shared_quad_state, DrawQuad::TEXTURE_CONTENT, rect,
opaque_rect, visible_rect, needs_blending);
@@ -77,7 +77,7 @@ void TextureDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
this->vertex_opacity[1] = vertex_opacity[1];
this->vertex_opacity[2] = vertex_opacity[2];
this->vertex_opacity[3] = vertex_opacity[3];
- this->flipped = flipped;
+ this->y_flipped = y_flipped;
this->nearest_neighbor = nearest_neighbor;
}
@@ -105,7 +105,7 @@ void TextureDrawQuad::ExtendValue(base::trace_event::TracedValue* value) const {
value->AppendDouble(vertex_opacity[i]);
value->EndArray();
- value->SetBoolean("flipped", flipped);
+ value->SetBoolean("y_flipped", y_flipped);
value->SetBoolean("nearest_neighbor", nearest_neighbor);
}
diff --git a/cc/quads/texture_draw_quad.h b/cc/quads/texture_draw_quad.h
index afac6bf..7064149 100644
--- a/cc/quads/texture_draw_quad.h
+++ b/cc/quads/texture_draw_quad.h
@@ -26,7 +26,7 @@ class CC_EXPORT TextureDrawQuad : public DrawQuad {
const gfx::PointF& uv_bottom_right,
SkColor background_color,
const float vertex_opacity[4],
- bool flipped,
+ bool y_flipped,
bool nearest_neighbor);
void SetAll(const SharedQuadState* shared_quad_state,
@@ -40,7 +40,7 @@ class CC_EXPORT TextureDrawQuad : public DrawQuad {
const gfx::PointF& uv_bottom_right,
SkColor background_color,
const float vertex_opacity[4],
- bool flipped,
+ bool y_flipped,
bool nearest_neighbor);
unsigned resource_id;
@@ -49,7 +49,7 @@ class CC_EXPORT TextureDrawQuad : public DrawQuad {
gfx::PointF uv_bottom_right;
SkColor background_color;
float vertex_opacity[4];
- bool flipped;
+ bool y_flipped;
bool nearest_neighbor;
void IterateResources(const ResourceIteratorCallback& callback) override;
diff --git a/components/surfaces/public/interfaces/quads.mojom b/components/surfaces/public/interfaces/quads.mojom
index 95403bb..0eb0b04 100644
--- a/components/surfaces/public/interfaces/quads.mojom
+++ b/components/surfaces/public/interfaces/quads.mojom
@@ -63,7 +63,7 @@ struct TextureQuadState {
PointF uv_bottom_right;
Color background_color;
array<float, 4> vertex_opacity;
- bool flipped;
+ bool y_flipped;
bool nearest_neighbor;
};
diff --git a/content/common/cc_messages.h b/content/common/cc_messages.h
index 6bad420..f6e907d 100644
--- a/content/common/cc_messages.h
+++ b/content/common/cc_messages.h
@@ -213,7 +213,7 @@ IPC_STRUCT_TRAITS_BEGIN(cc::TextureDrawQuad)
IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[1])
IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[2])
IPC_STRUCT_TRAITS_MEMBER(vertex_opacity[3])
- IPC_STRUCT_TRAITS_MEMBER(flipped)
+ IPC_STRUCT_TRAITS_MEMBER(y_flipped)
IPC_STRUCT_TRAITS_MEMBER(nearest_neighbor)
IPC_STRUCT_TRAITS_END()
diff --git a/content/common/cc_messages_unittest.cc b/content/common/cc_messages_unittest.cc
index d0c13d7..991371c 100644
--- a/content/common/cc_messages_unittest.cc
+++ b/content/common/cc_messages_unittest.cc
@@ -185,7 +185,7 @@ class CCMessagesTest : public testing::Test {
EXPECT_EQ(a->vertex_opacity[1], b->vertex_opacity[1]);
EXPECT_EQ(a->vertex_opacity[2], b->vertex_opacity[2]);
EXPECT_EQ(a->vertex_opacity[3], b->vertex_opacity[3]);
- EXPECT_EQ(a->flipped, b->flipped);
+ EXPECT_EQ(a->y_flipped, b->y_flipped);
EXPECT_EQ(a->nearest_neighbor, b->nearest_neighbor);
}
diff --git a/mojo/converters/surfaces/surfaces_type_converters.cc b/mojo/converters/surfaces/surfaces_type_converters.cc
index d53e160..0c27f78 100644
--- a/mojo/converters/surfaces/surfaces_type_converters.cc
+++ b/mojo/converters/surfaces/surfaces_type_converters.cc
@@ -140,7 +140,7 @@ bool ConvertDrawQuad(const QuadPtr& input,
texture_quad_state->uv_bottom_right.To<gfx::PointF>(),
texture_quad_state->background_color.To<SkColor>(),
&texture_quad_state->vertex_opacity.storage()[0],
- texture_quad_state->flipped,
+ texture_quad_state->y_flipped,
texture_quad_state->nearest_neighbor);
break;
}
@@ -302,7 +302,7 @@ QuadPtr TypeConverter<QuadPtr, cc::DrawQuad>::Convert(
vertex_opacity[i] = texture_quad->vertex_opacity[i];
}
texture_state->vertex_opacity = vertex_opacity.Pass();
- texture_state->flipped = texture_quad->flipped;
+ texture_state->y_flipped = texture_quad->y_flipped;
quad->texture_quad_state = texture_state.Pass();
break;
}
diff --git a/mojo/converters/surfaces/tests/surface_unittest.cc b/mojo/converters/surfaces/tests/surface_unittest.cc
index 7e6d680..167efd8 100644
--- a/mojo/converters/surfaces/tests/surface_unittest.cc
+++ b/mojo/converters/surfaces/tests/surface_unittest.cc
@@ -108,7 +108,7 @@ TEST_F(SurfaceLibQuadTest, TextureQuad) {
gfx::PointF uv_bottom_right(-7.f, 16.3f);
SkColor background_color = SK_ColorYELLOW;
float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
- bool flipped = false;
+ bool y_flipped = false;
bool nearest_neighbor = false;
texture_quad->SetAll(sqs,
rect,
@@ -121,7 +121,7 @@ TEST_F(SurfaceLibQuadTest, TextureQuad) {
uv_bottom_right,
background_color,
vertex_opacity,
- flipped,
+ y_flipped,
nearest_neighbor);
QuadPtr mojo_quad = Quad::From<cc::DrawQuad>(*texture_quad);
@@ -138,7 +138,7 @@ TEST_F(SurfaceLibQuadTest, TextureQuad) {
for (size_t i = 0; i < 4; ++i) {
EXPECT_EQ(vertex_opacity[i], mojo_texture_state->vertex_opacity[i]) << i;
}
- EXPECT_EQ(flipped, mojo_texture_state->flipped);
+ EXPECT_EQ(y_flipped, mojo_texture_state->y_flipped);
}
TEST_F(SurfaceLibQuadTest, TextureQuadEmptyVertexOpacity) {
@@ -275,7 +275,7 @@ TEST(SurfaceLibTest, RenderPass) {
gfx::PointF uv_bottom_right(-7.f, 16.3f);
SkColor background_color = SK_ColorYELLOW;
float vertex_opacity[4] = {0.1f, 0.5f, 0.4f, 0.8f};
- bool flipped = false;
+ bool y_flipped = false;
bool nearest_neighbor = false;
texture_quad->SetAll(sqs,
rect,
@@ -288,7 +288,7 @@ TEST(SurfaceLibTest, RenderPass) {
uv_bottom_right,
background_color,
vertex_opacity,
- flipped,
+ y_flipped,
nearest_neighbor);
PassPtr mojo_pass = Pass::From(*pass);
@@ -362,7 +362,7 @@ TEST(SurfaceLibTest, RenderPass) {
EXPECT_EQ(vertex_opacity[i], round_trip_texture_quad->vertex_opacity[i])
<< i;
}
- EXPECT_EQ(flipped, round_trip_texture_quad->flipped);
+ EXPECT_EQ(y_flipped, round_trip_texture_quad->y_flipped);
}
TEST(SurfaceLibTest, Mailbox) {
diff --git a/ui/gfx/overlay_transform.h b/ui/gfx/overlay_transform.h
index 1e27010..382d5c3 100644
--- a/ui/gfx/overlay_transform.h
+++ b/ui/gfx/overlay_transform.h
@@ -8,7 +8,7 @@
namespace gfx {
// Describes transformation to be applied to the buffer before presenting
-// to screen.
+// to screen. Rotations are expressed anticlockwise.
enum OverlayTransform {
OVERLAY_TRANSFORM_INVALID,
OVERLAY_TRANSFORM_NONE,