Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(747)

Unified Diff: gfx/canvas_direct2d_unittest.cc

Issue 6246027: Move src/gfx/ to src/ui/gfx... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gfx/canvas_direct2d.cc ('k') | gfx/canvas_skia.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gfx/canvas_direct2d_unittest.cc
===================================================================
--- gfx/canvas_direct2d_unittest.cc (revision 73487)
+++ gfx/canvas_direct2d_unittest.cc (working copy)
@@ -1,350 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-#include <uxtheme.h>
-#include <vsstyle.h>
-#include <vssym32.h>
-
-#include "base/command_line.h"
-#include "base/ref_counted_memory.h"
-#include "base/resource_util.h"
-#include "base/scoped_ptr.h"
-#include "gfx/brush.h"
-#include "gfx/canvas_direct2d.h"
-#include "gfx/canvas_skia.h"
-#include "gfx/codec/png_codec.h"
-#include "gfx/native_theme_win.h"
-#include "gfx/rect.h"
-#include "gfx/win_util.h"
-#include "grit/gfx_resources.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-
-namespace {
-
-const char kVisibleModeFlag[] = "d2d-canvas-visible";
-const wchar_t kWindowClassName[] = L"GFXD2DTestWindowClass";
-
-class TestWindow {
- public:
- static const int kWindowSize = 500;
- static const int kWindowPosition = 10;
-
- TestWindow() : hwnd_(NULL) {
- if (CommandLine::ForCurrentProcess()->HasSwitch(kVisibleModeFlag))
- Sleep(1000);
-
- RegisterMyClass();
-
- hwnd_ = CreateWindowEx(0, kWindowClassName, NULL,
- WS_OVERLAPPEDWINDOW,
- kWindowPosition, kWindowPosition,
- kWindowSize, kWindowSize,
- NULL, NULL, NULL, this);
- DCHECK(hwnd_);
-
- // Initialize the RenderTarget for the window.
- rt_ = MakeHWNDRenderTarget();
-
- if (CommandLine::ForCurrentProcess()->HasSwitch(kVisibleModeFlag))
- ShowWindow(hwnd(), SW_SHOW);
- }
- virtual ~TestWindow() {
- if (CommandLine::ForCurrentProcess()->HasSwitch(kVisibleModeFlag))
- Sleep(1000);
- DestroyWindow(hwnd());
- UnregisterMyClass();
- }
-
- HWND hwnd() const { return hwnd_; }
-
- ID2D1RenderTarget* rt() const { return rt_.get(); }
-
- private:
- ID2D1RenderTarget* MakeHWNDRenderTarget() {
- D2D1_RENDER_TARGET_PROPERTIES rt_properties =
- D2D1::RenderTargetProperties();
- rt_properties.usage = D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE;
-
- ID2D1HwndRenderTarget* rt = NULL;
- gfx::CanvasDirect2D::GetD2D1Factory()->CreateHwndRenderTarget(
- rt_properties,
- D2D1::HwndRenderTargetProperties(hwnd(), D2D1::SizeU(500, 500)),
- &rt);
- return rt;
- }
-
- void RegisterMyClass() {
- WNDCLASSEX class_ex;
- class_ex.cbSize = sizeof(WNDCLASSEX);
- class_ex.style = CS_DBLCLKS;
- class_ex.lpfnWndProc = &DefWindowProc;
- class_ex.cbClsExtra = 0;
- class_ex.cbWndExtra = 0;
- class_ex.hInstance = NULL;
- class_ex.hIcon = NULL;
- class_ex.hCursor = LoadCursor(NULL, IDC_ARROW);
- class_ex.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
- class_ex.lpszMenuName = NULL;
- class_ex.lpszClassName = kWindowClassName;
- class_ex.hIconSm = class_ex.hIcon;
- ATOM atom = RegisterClassEx(&class_ex);
- DCHECK(atom);
- }
-
- void UnregisterMyClass() {
- ::UnregisterClass(kWindowClassName, NULL);
- }
-
- HWND hwnd_;
-
- ScopedComPtr<ID2D1RenderTarget> rt_;
-
- DISALLOW_COPY_AND_ASSIGN(TestWindow);
-};
-
-// Loads a png data blob from the data resources associated with this
-// executable, decodes it and returns a SkBitmap.
-SkBitmap LoadBitmapFromResources(int resource_id) {
- SkBitmap bitmap;
-
- HINSTANCE resource_instance = GetModuleHandle(NULL);
- void* data_ptr;
- size_t data_size;
- if (base::GetDataResourceFromModule(resource_instance, resource_id, &data_ptr,
- &data_size)) {
- scoped_refptr<RefCountedMemory> memory(new RefCountedStaticMemory(
- reinterpret_cast<const unsigned char*>(data_ptr), data_size));
- if (!memory)
- return bitmap;
-
- if (!gfx::PNGCodec::Decode(memory->front(), memory->size(), &bitmap))
- NOTREACHED() << "Unable to decode theme image resource " << resource_id;
- }
- return bitmap;
-}
-
-bool CheckForD2DCompatibility() {
- if (!gfx::Direct2dIsAvailable()) {
- LOG(WARNING) << "Test is disabled as it requires either Windows 7 or " <<
- "Vista with Platform Update KB971644";
- return false;
- }
- return true;
-}
-
-} // namespace
-
-TEST(CanvasDirect2D, CreateCanvas) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-}
-
-TEST(CanvasDirect2D, SaveRestoreNesting) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- // Simple.
- canvas.Save();
- canvas.Restore();
-
- // Nested.
- canvas.Save();
- canvas.Save();
- canvas.Restore();
- canvas.Restore();
-
- // Simple alpha.
- canvas.SaveLayerAlpha(127);
- canvas.Restore();
-
- // Alpha with sub-rect.
- canvas.SaveLayerAlpha(127, gfx::Rect(20, 20, 100, 100));
- canvas.Restore();
-
- // Nested alpha.
- canvas.Save();
- canvas.SaveLayerAlpha(127);
- canvas.Save();
- canvas.Restore();
- canvas.Restore();
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, SaveLayerAlpha) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.Save();
- canvas.FillRectInt(SK_ColorBLUE, 20, 20, 100, 100);
- canvas.SaveLayerAlpha(127);
- canvas.FillRectInt(SK_ColorRED, 60, 60, 100, 100);
- canvas.Restore();
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, SaveLayerAlphaWithBounds) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.Save();
- canvas.FillRectInt(SK_ColorBLUE, 20, 20, 100, 100);
- canvas.SaveLayerAlpha(127, gfx::Rect(60, 60, 50, 50));
- canvas.FillRectInt(SK_ColorRED, 60, 60, 100, 100);
- canvas.Restore();
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, FillRect) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.FillRectInt(SK_ColorRED, 20, 20, 100, 100);
-}
-
-TEST(CanvasDirect2D, PlatformPainting) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- gfx::NativeDrawingContext dc = canvas.BeginPlatformPaint();
-
- // Use the system theme engine to draw a native button. This only works on a
- // GDI device context.
- RECT r = { 20, 20, 220, 80 };
- gfx::NativeTheme::instance()->PaintButton(
- dc, BP_PUSHBUTTON, PBS_NORMAL, DFCS_BUTTONPUSH, &r);
-
- canvas.EndPlatformPaint();
-}
-
-TEST(CanvasDirect2D, ClipRect) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.FillRectInt(SK_ColorGREEN, 0, 0, 500, 500);
- canvas.ClipRectInt(20, 20, 120, 120);
- canvas.FillRectInt(SK_ColorBLUE, 0, 0, 500, 500);
-}
-
-TEST(CanvasDirect2D, ClipRectWithTranslate) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- // Repeat the same rendering as in ClipRect...
- canvas.Save();
- canvas.FillRectInt(SK_ColorGREEN, 0, 0, 500, 500);
- canvas.ClipRectInt(20, 20, 120, 120);
- canvas.FillRectInt(SK_ColorBLUE, 0, 0, 500, 500);
- canvas.Restore();
-
- // ... then translate, clip and fill again relative to the new origin.
- canvas.Save();
- canvas.TranslateInt(150, 150);
- canvas.ClipRectInt(10, 10, 110, 110);
- canvas.FillRectInt(SK_ColorRED, 0, 0, 500, 500);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, ClipRectWithScale) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- // Repeat the same rendering as in ClipRect...
- canvas.Save();
- canvas.FillRectInt(SK_ColorGREEN, 0, 0, 500, 500);
- canvas.ClipRectInt(20, 20, 120, 120);
- canvas.FillRectInt(SK_ColorBLUE, 0, 0, 500, 500);
- canvas.Restore();
-
- // ... then translate and scale, clip and fill again relative to the new
- // origin.
- canvas.Save();
- canvas.TranslateInt(150, 150);
- canvas.ScaleInt(2, 2);
- canvas.ClipRectInt(10, 10, 110, 110);
- canvas.FillRectInt(SK_ColorRED, 0, 0, 500, 500);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, DrawRectInt) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.Save();
- canvas.DrawRectInt(SK_ColorRED, 10, 10, 200, 200);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, DrawLineInt) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- canvas.Save();
- canvas.DrawLineInt(SK_ColorRED, 10, 10, 210, 210);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, DrawBitmapInt) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- SkBitmap bitmap = LoadBitmapFromResources(IDR_BITMAP_BRUSH_IMAGE);
-
- canvas.Save();
- canvas.DrawBitmapInt(bitmap, 100, 100);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, DrawBitmapInt2) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- SkBitmap bitmap = LoadBitmapFromResources(IDR_BITMAP_BRUSH_IMAGE);
-
- canvas.Save();
- canvas.DrawBitmapInt(bitmap, 5, 5, 30, 30, 10, 10, 30, 30, false);
- canvas.DrawBitmapInt(bitmap, 5, 5, 30, 30, 110, 110, 100, 100, true);
- canvas.DrawBitmapInt(bitmap, 5, 5, 30, 30, 220, 220, 100, 100, false);
- canvas.Restore();
-}
-
-TEST(CanvasDirect2D, TileImageInt) {
- if (!CheckForD2DCompatibility())
- return;
- TestWindow window;
- gfx::CanvasDirect2D canvas(window.rt());
-
- SkBitmap bitmap = LoadBitmapFromResources(IDR_BITMAP_BRUSH_IMAGE);
-
- canvas.Save();
- canvas.TileImageInt(bitmap, 10, 10, 300, 300);
- canvas.Restore();
-}
« no previous file with comments | « gfx/canvas_direct2d.cc ('k') | gfx/canvas_skia.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698