Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/gfx/skia/skia/src/pdf/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  SkPDFGraphicStackState.h   Sprache: C

 
// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#ifndef SkPDFGraphicStackState_DEFINED
#define SkPDFGraphicStackState_DEFINED

#include "include/core/SkColor.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkScalar.h"
#include "include/private/base/SkFloatingPoint.h"
#include "src/core/SkClipStack.h"

#include <cstdint>

class SkDynamicMemoryWStream;
struct SkIRect;

// It is important to not confuse SkPDFGraphicStackState with SkPDFGraphicState, the
// later being our representation of an object in the PDF file.
struct SkPDFGraphicStackState {
    struct Entry {
        SkMatrix fMatrix = SkMatrix::I();
        uint32_t fClipStackGenID = SkClipStack::kWideOpenGenID;
        SkColor4f fColor = {SK_FloatNaN, SK_FloatNaN, SK_FloatNaN, SK_FloatNaN};
        SkScalar fTextScaleX = 1;  // Zero means we don't care what the value is.
        int fShaderIndex = -1;
        int fGraphicStateIndex = -1;
    };
    // Must use stack for matrix, and for clip, plus one for no matrix or clip.
    inline static constexpr int kMaxStackDepth = 2;
    Entry fEntries[kMaxStackDepth + 1];
    int fStackDepth = 0;
    SkDynamicMemoryWStream* fContentStream;

    SkPDFGraphicStackState(SkDynamicMemoryWStream* s = nullptr) : fContentStream(s) {}
    void updateClip(const SkClipStack* clipStack, const SkIRect& bounds);
    void updateMatrix(const SkMatrix& matrix);
    void updateDrawingState(const Entry& state);
    void push();
    void pop();
    void drainStack();
    Entry* currentEntry() { return &fEntries[fStackDepth]; }
};

#endif  // SkPDFGraphicStackState_DEFINED

Messung V0.5
C=96 H=86 G=90

¤ Dauer der Verarbeitung: 0.2 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.