Edit

kc3-lang/angle/samples/sample_util/SampleApplication.h

Branch :

  • Show log

    Commit

  • Author : Corentin Wallez
    Date : 2015-05-07 12:35:47
    Hash : 98e7d071
    Message : Use a D3D11 renderer by default, when available. Also update SampleApplication to request the default renderer instead of explicitely asking for d3d11 BUG=angleproject:892 Change-Id: I70c431b3c1ba78c3ce7844d7f276cc19ac17d7f5 Reviewed-on: https://chromium-review.googlesource.com/269999 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>

  • samples/sample_util/SampleApplication.h
  • //
    // 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_SAMPLE_APPLICATION_H
    #define SAMPLE_UTIL_SAMPLE_APPLICATION_H
    
    #include <EGL/egl.h>
    #include <EGL/eglext.h>
    
    #include "OSWindow.h"
    #include "Timer.h"
    
    #include <string>
    #include <list>
    #include <cstdint>
    #include <memory>
    
    class EGLWindow;
    
    class SampleApplication
    {
      public:
        SampleApplication(const std::string& name, size_t width, size_t height,
                          EGLint glesMajorVersion = 2, EGLint requestedRenderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE);
        virtual ~SampleApplication();
    
        virtual bool initialize();
        virtual void destroy();
    
        virtual void step(float dt, double totalTime);
        virtual void draw();
    
        virtual void swap();
    
        OSWindow *getWindow() const;
        EGLConfig getConfig() const;
        EGLDisplay getDisplay() const;
        EGLSurface getSurface() const;
        EGLContext getContext() const;
    
        bool popEvent(Event *event);
    
        int run();
        void exit();
    
      private:
        std::string mName;
        bool mRunning;
    
        std::unique_ptr<Timer> mTimer;
        std::unique_ptr<EGLWindow> mEGLWindow;
        std::unique_ptr<OSWindow> mOSWindow;
    };
    
    #endif // SAMPLE_UTIL_SAMPLE_APPLICATION_H