Edit

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

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2016-04-20 11:13:22
    Hash : 47110bf4
    Message : Implement CHROMIUM_copy_compressed_texture for D3D11. BUG=angleproject:1356 Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f Reviewed-on: https://chromium-review.googlesource.com/339847 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/Path.h
  • //
    // Copyright (c) 2002-2016 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.
    //
    
    // Path.h: Defines the gl::Path class, representing CHROMIUM_path_rendering
    // path object.
    
    #ifndef LIBANGLE_PATH_H_
    #define LIBANGLE_PATH_H_
    
    #include "angle_gl.h"
    #include "common/angleutils.h"
    #include "libANGLE/Error.h"
    #include "libANGLE/RefCountObject.h"
    
    namespace rx
    {
    class PathImpl;
    }
    
    namespace gl
    {
    class Path final : angle::NonCopyable
    {
      public:
        Path(rx::PathImpl *impl);
    
        ~Path();
    
        Error setCommands(GLsizei numCommands,
                          const GLubyte *commands,
                          GLsizei numCoords,
                          GLenum coordType,
                          const void *coords);
    
        void setStrokeWidth(GLfloat width);
        void setStrokeBound(GLfloat bound);
        void setEndCaps(GLenum type);
        void setJoinStyle(GLenum type);
        void setMiterLimit(GLfloat value);
    
        GLfloat getStrokeWidth() const { return mStrokeWidth; }
        GLfloat getStrokeBound() const { return mStrokeBound; }
        GLfloat getMiterLimit() const { return mMiterLimit; }
        GLenum getEndCaps() const { return mEndCaps; }
        GLenum getJoinStyle() const { return mJoinStyle; }
    
        bool hasPathData() const { return mHasData; }
    
        rx::PathImpl *getImplementation() const { return mPath; }
    
      private:
        rx::PathImpl *mPath;
    
        // a Path object is not actually considered "a path"
        // untill it has been specified with data. So we'll
        // keep this flag to support this semantics.
        bool mHasData;
    
        GLenum mEndCaps;
        GLenum mJoinStyle;
        GLfloat mStrokeWidth;
        GLfloat mStrokeBound;
        GLfloat mMiterLimit;
    };
    
    }  // namespace gl
    
    #endif  // LIBANGLE_PATH_H_