Hash :
9e16d40d
Author :
Date :
2014-09-08T17:36:33
Fix Win32Window::resize breaking angle_tests. We were messing up the client rect on resize, which caused the ReadPixels checks to mess up around the window edges. Disabling the window styles on the test windows masked this bug. Fix this by using a style-less child window inside the parent window. This gives us access to window styles for the samples project, along with the ability to use tiny 1x1 windows for testing. BUG=angle:730 Change-Id: Ic6dd931df7b4e32fbbcacbb004d3bbc49917f658 Reviewed-on: https://chromium-review.googlesource.com/217024 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
//
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
#ifndef SAMPLE_UTIL_WIN32_WINDOW_H
#define SAMPLE_UTIL_WIN32_WINDOW_H
#include "OSWindow.h"
#include <string>
#include <windows.h>
class Win32Window : public OSWindow
{
public:
Win32Window();
~Win32Window();
bool initialize(const std::string &name, size_t width, size_t height);
void destroy();
EGLNativeWindowType getNativeWindow() const;
EGLNativeDisplayType getNativeDisplay() const;
void messageLoop();
virtual void pushEvent(Event event);
void setMousePosition(int x, int y);
bool resize(int width, int height);
bool setVisible(bool isVisible);
private:
std::string mParentClassName;
std::string mChildClassName;
EGLNativeWindowType mNativeWindow;
EGLNativeWindowType mParentWindow;
EGLNativeDisplayType mNativeDisplay;
};
#endif // SAMPLE_UTIL_WINDOW_H