Edit

kc3-lang/angle/src/libANGLE/AttributeMap.h

Branch :

  • Show log

    Commit

  • Author : Yuly Novikov
    Date : 2016-06-03 00:18:38
    Hash : a6426d67
    Message : Android GL backend and end2end tests Just the bare minimum implementation for end2end tests to run. BUG=angleproject:1362 TEST=angle_end2end_tests on Nexus 5X Change-Id: I92293e0f8bdc2ffaa5d4661927750d7cb3d931e6 Reviewed-on: https://chromium-review.googlesource.com/349353 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

  • src/libANGLE/AttributeMap.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 LIBANGLE_ATTRIBUTEMAP_H_
    #define LIBANGLE_ATTRIBUTEMAP_H_
    
    
    #include <EGL/egl.h>
    
    #include <map>
    #include <vector>
    
    namespace egl
    {
    
    class AttributeMap final
    {
      public:
        AttributeMap();
    
        void insert(EGLAttrib key, EGLAttrib value);
        bool contains(EGLAttrib key) const;
        EGLAttrib get(EGLAttrib key, EGLAttrib defaultValue) const;
        EGLint getAsInt(EGLAttrib key, EGLint defaultValue) const;
        bool isEmpty() const;
        std::vector<EGLint> toIntVector() const;
    
        typedef std::map<EGLAttrib, EGLAttrib>::const_iterator const_iterator;
    
        const_iterator begin() const;
        const_iterator end() const;
    
        static AttributeMap CreateFromIntArray(const EGLint *attributes);
        static AttributeMap CreateFromAttribArray(const EGLAttrib *attributes);
    
      private:
        std::map<EGLAttrib, EGLAttrib> mAttributes;
    };
    
    }
    
    #endif   // LIBANGLE_ATTRIBUTEMAP_H_