Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/LibreOffice/oox/inc/drawingml/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 7 kB image not shown  

Quelle  hatchmap.hxx   Sprache: C

 
/* -*- 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/.
 */


#include <com/sun/star/drawing/Hatch.hpp>
#include <oox/token/tokens.hxx>

#include <tools/color.hxx>

using namespace com::sun::star;
using namespace oox;

static drawing::Hatch createHatch(sal_Int32 nHatchToken, ::Color nColor)
{
    drawing::Hatch aHatch;
    aHatch.Color = sal_Int32(nColor);
    // best-effort mapping; we do not support all the styles in core
    switch (nHatchToken)
    {
        case XML_pct5:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 250;
            aHatch.Angle = 450;
            break;
        case XML_pct10:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 200;
            aHatch.Angle = 450;
            break;
        case XML_pct20:
        case XML_dashUpDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 150;
            aHatch.Angle = 450;
            break;
        case XML_pct25:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 200;
            aHatch.Angle = 450;
            break;
        case XML_pct30:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 175;
            aHatch.Angle = 450;
            break;
        case XML_pct40:
        case XML_weave:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 150;
            aHatch.Angle = 450;
            break;
        case XML_pct50:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 125;
            aHatch.Angle = 450;
            break;
        case XML_pct60:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 150;
            aHatch.Angle = 450;
            break;
        case XML_pct70:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 125;
            aHatch.Angle = 450;
            break;
        case XML_pct75:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_pct80:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 75;
            aHatch.Angle = 450;
            break;
        case XML_pct90:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 50;
            aHatch.Angle = 450;
            break;
        case XML_horz:
        case XML_wave:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 100;
            aHatch.Angle = 0;
            break;
        case XML_vert:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 100;
            aHatch.Angle = 900;
            break;
        case XML_ltHorz:
        case XML_narHorz:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 50;
            aHatch.Angle = 0;
            break;
        case XML_ltVert:
        case XML_narVert:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 50;
            aHatch.Angle = 900;
            break;
        case XML_dkHorz:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 25;
            aHatch.Angle = 0;
            break;
        case XML_dkVert:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 25;
            aHatch.Angle = 900;
            break;
        case XML_dashHorz:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 150;
            aHatch.Angle = 0;
            break;
        case XML_dashVert:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 150;
            aHatch.Angle = 900;
            break;
        case XML_cross:
        case XML_lgGrid:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 100;
            aHatch.Angle = 0;
            break;
        case XML_dnDiag:
        case XML_wdDnDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 100;
            aHatch.Angle = 1350;
            break;
        case XML_upDiag:
        case XML_wdUpDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_ltDnDiag:
        case XML_dkDnDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 50;
            aHatch.Angle = 1350;
            break;
        case XML_ltUpDiag:
        case XML_dkUpDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 50;
            aHatch.Angle = 450;
            break;
        case XML_dashDnDiag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 150;
            aHatch.Angle = 1350;
            break;
        case XML_diagCross:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_smCheck:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 50;
            aHatch.Angle = 450;
            break;
        case XML_lgCheck:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_smGrid:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 50;
            aHatch.Angle = 0;
            break;
        case XML_dotGrid:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 400;
            aHatch.Angle = 0;
            break;
        case XML_smConfetti:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 200;
            aHatch.Angle = 600;
            break;
        case XML_lgConfetti:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 100;
            aHatch.Angle = 600;
            break;
        case XML_horzBrick:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 300;
            aHatch.Angle = 0;
            break;
        case XML_diagBrick:
        case XML_dotDmnd:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 300;
            aHatch.Angle = 450;
            break;
        case XML_solidDmnd:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_openDmnd:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 100;
            aHatch.Angle = 450;
            break;
        case XML_plaid:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 200;
            aHatch.Angle = 900;
            break;
        case XML_sphere:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 100;
            aHatch.Angle = 0;
            break;
        case XML_divot:
            aHatch.Style = drawing::HatchStyle_TRIPLE;
            aHatch.Distance = 400;
            aHatch.Angle = 450;
            break;
        case XML_shingle:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 200;
            aHatch.Angle = 1350;
            break;
        case XML_trellis:
            aHatch.Style = drawing::HatchStyle_DOUBLE;
            aHatch.Distance = 75;
            aHatch.Angle = 450;
            break;
        case XML_zigZag:
            aHatch.Style = drawing::HatchStyle_SINGLE;
            aHatch.Distance = 75;
            aHatch.Angle = 0;
            break;
    }

    return aHatch;
}

Messung V0.5
C=96 H=95 G=95

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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 und die Messung sind noch experimentell.