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 44 45 46 47 48 49
//
// 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_WINDOW_H
#define SAMPLE_UTIL_WINDOW_H
#include "Event.h"
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <list>
class OSWindow
{
public:
OSWindow();
virtual ~OSWindow();
virtual bool initialize(const std::string &name, size_t width, size_t height) = 0;
virtual void destroy() = 0;
int getWidth() const;
int getHeight() const;
virtual EGLNativeWindowType getNativeWindow() const = 0;
virtual EGLNativeDisplayType getNativeDisplay() const = 0;
virtual void messageLoop() = 0;
bool popEvent(Event *event);
virtual void pushEvent(Event event);
virtual void setMousePosition(int x, int y) = 0;
virtual bool resize(int width, int height) = 0;
virtual bool setVisible(bool isVisible) = 0;
protected:
int mWidth;
int mHeight;
std::list<Event> mEvents;
};
OSWindow *CreateOSWindow();
#endif // SAMPLE_UTIL_WINDOW_H