Edit

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

Branch :

  • Show log

    Commit

  • Author : Yuly Novikov
    Date : 2017-03-09 18:45:02
    Hash : c4d18aac
    Message : Use ErrorStream everywhere Eliminates one more usage of FormatString and its static initializer. Add more ErrorStream types and replace gl::Error and egl::Error with them. BUG=angleproject:1644 Change-Id: Ib498d0ae4b81a332ec71aed7cf709993b154e6bb Reviewed-on: https://chromium-review.googlesource.com/505429 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/Path.cpp
  • //
    // 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.
    
    #include "libANGLE/Path.h"
    #include "libANGLE/renderer/PathImpl.h"
    
    #include "common/mathutil.h"
    #include "common/debug.h"
    
    namespace gl
    {
    
    Path::Path(rx::PathImpl *impl)
        : mPath(impl),
          mHasData(false),
          mEndCaps(GL_FLAT_CHROMIUM),
          mJoinStyle(GL_MITER_REVERT_CHROMIUM),
          mStrokeWidth(1.0f),
          mStrokeBound(0.2f),
          mMiterLimit(4.0f)
    {
    }
    
    Path::~Path()
    {
        delete mPath;
    }
    
    Error Path::setCommands(GLsizei numCommands,
                            const GLubyte *commands,
                            GLsizei numCoords,
                            GLenum coordType,
                            const void *coords)
    {
        ANGLE_TRY(mPath->setCommands(numCommands, commands, numCoords, coordType, coords));
    
        mHasData = true;
    
        return NoError();
    }
    
    void Path::setStrokeWidth(GLfloat width)
    {
        mStrokeWidth = width;
        mPath->setPathParameter(GL_PATH_STROKE_WIDTH_CHROMIUM, mStrokeWidth);
    }
    
    void Path::setStrokeBound(GLfloat bound)
    {
        mStrokeBound = clamp(bound, 0.0f, 1.0f);
        mPath->setPathParameter(GL_PATH_STROKE_BOUND_CHROMIUM, mStrokeBound);
    }
    
    void Path::setEndCaps(GLenum type)
    {
        mEndCaps = type;
        mPath->setPathParameter(GL_PATH_END_CAPS_CHROMIUM, static_cast<GLfloat>(type));
    }
    
    void Path::setJoinStyle(GLenum type)
    {
        mJoinStyle = type;
        mPath->setPathParameter(GL_PATH_JOIN_STYLE_CHROMIUM, static_cast<GLfloat>(type));
    }
    
    void Path::setMiterLimit(GLfloat value)
    {
        mMiterLimit = value;
        mPath->setPathParameter(GL_PATH_MITER_LIMIT_CHROMIUM, value);
    }
    
    }  // gl