/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
class GDIMetaFile; class VirtualDevice; class Gradient; namespace tools { class Rectangle; } namespace vcl { class Font; } namespace tools { class PolyPolygon; } class Point; class MetaCommentAction;
namespace basegfx { class B2DPolyPolygon; class B2DPolygon;
}
// state stack of OutputDevice, to correctly handle // push/pop actions class VectorOfOutDevStates
{ public:
OutDevState& getState(); const OutDevState& getState() const; void pushState(vcl::PushFlags nFlags); void popState(); void clearStateStack(); private:
std::vector< OutDevState > m_aStates;
};
// EMF+ // Transformation matrix (used for Affine Transformation) // [ eM11, eM12, eDx ] // [ eM21, eM22, eDy ] // [ 0, 0, 1 ] // that consists of a linear map (eM11, eM12, eM21, eM22) // More info: https://en.wikipedia.org/wiki/Linear_map // followed by a translation (eDx, eDy)
struct XForm
{ float eM11; // M1,1 value in the matrix. Increases or decreases the size of the pixels horizontally. float eM12; // M1,2 value in the matrix. This effectively angles the X axis up or down. float eM21; // M2,1 value in the matrix. This effectively angles the Y axis left or right. float eM22; // M2,2 value in the matrix. Increases or decreases the size of the pixels vertically. float eDx; // Delta x (Dx) value in the matrix. Moves the whole coordinate system horizontally. float eDy; // Delta y (Dy) value in the matrix. Moves the whole coordinate system vertically.
XForm()
{
SetIdentity ();
}
// element of the Renderer's action vector. Need to be // public, since some functors need it, too. struct MtfAction
{
MtfAction( std::shared_ptr<Action> xAction,
sal_Int32 nOrigIndex ) :
mpAction(std::move( xAction )),
mnOrigIndex( nOrigIndex )
{
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.