diff options
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/Path.h')
-rw-r--r-- | gfx/angle/checkout/src/libANGLE/Path.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/Path.h b/gfx/angle/checkout/src/libANGLE/Path.h new file mode 100644 index 0000000000..8fb714c4cd --- /dev/null +++ b/gfx/angle/checkout/src/libANGLE/Path.h @@ -0,0 +1,71 @@ +// +// 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(); + + angle::Result 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_
\ No newline at end of file |