summaryrefslogtreecommitdiff
path: root/noncore/unsupported/qpdf/xpdf/GfxState.h
Unidiff
Diffstat (limited to 'noncore/unsupported/qpdf/xpdf/GfxState.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/qpdf/xpdf/GfxState.h39
1 files changed, 37 insertions, 2 deletions
diff --git a/noncore/unsupported/qpdf/xpdf/GfxState.h b/noncore/unsupported/qpdf/xpdf/GfxState.h
index 7fe16ea..328f9a8 100644
--- a/noncore/unsupported/qpdf/xpdf/GfxState.h
+++ b/noncore/unsupported/qpdf/xpdf/GfxState.h
@@ -1,11 +1,11 @@
1//======================================================================== 1//========================================================================
2// 2//
3// GfxState.h 3// GfxState.h
4// 4//
5// Copyright 1996 Derek B. Noonburg 5// Copyright 1996-2002 Glyph & Cog, LLC
6// 6//
7//======================================================================== 7//========================================================================
8 8
9#ifndef GFXSTATE_H 9#ifndef GFXSTATE_H
10#define GFXSTATE_H 10#define GFXSTATE_H
11 11
@@ -565,12 +565,46 @@ private:
565 Function *funcs[gfxColorMaxComps]; 565 Function *funcs[gfxColorMaxComps];
566 int nFuncs; 566 int nFuncs;
567 GBool extend0, extend1; 567 GBool extend0, extend1;
568}; 568};
569 569
570//------------------------------------------------------------------------ 570//------------------------------------------------------------------------
571// GfxRadialShading
572//------------------------------------------------------------------------
573
574class GfxRadialShading: public GfxShading {
575public:
576
577 GfxRadialShading(fouble x0A, fouble y0A, fouble r0A,
578 fouble x1A, fouble y1A, fouble r1A,
579 fouble t0A, fouble t1A,
580 Function **funcsA, int nFuncsA,
581 GBool extend0A, GBool extend1A);
582 virtual ~GfxRadialShading();
583
584 static GfxRadialShading *parse(Dict *dict);
585
586 void getCoords(fouble *x0A, fouble *y0A, fouble *r0A,
587 fouble *x1A, fouble *y1A, fouble *r1A)
588 { *x0A = x0; *y0A = y0; *r0A = r0; *x1A = x1; *y1A = y1; *r1A = r1; }
589 fouble getDomain0() { return t0; }
590 fouble getDomain1() { return t1; }
591 void getColor(fouble t, GfxColor *color);
592 GBool getExtend0() { return extend0; }
593 GBool getExtend1() { return extend1; }
594
595private:
596
597 fouble x0, y0, r0, x1, y1, r1;
598 fouble t0, t1;
599 Function *funcs[gfxColorMaxComps];
600 int nFuncs;
601 GBool extend0, extend1;
602};
603
604//------------------------------------------------------------------------
571// GfxImageColorMap 605// GfxImageColorMap
572//------------------------------------------------------------------------ 606//------------------------------------------------------------------------
573 607
574class GfxImageColorMap { 608class GfxImageColorMap {
575public: 609public:
576 610
@@ -780,12 +814,13 @@ public:
780 int getRender() { return render; } 814 int getRender() { return render; }
781 GfxPath *getPath() { return path; } 815 GfxPath *getPath() { return path; }
782 fouble getCurX() { return curX; } 816 fouble getCurX() { return curX; }
783 fouble getCurY() { return curY; } 817 fouble getCurY() { return curY; }
784 void getClipBBox(fouble *xMin, fouble *yMin, fouble *xMax, fouble *yMax) 818 void getClipBBox(fouble *xMin, fouble *yMin, fouble *xMax, fouble *yMax)
785 { *xMin = clipXMin; *yMin = clipYMin; *xMax = clipXMax; *yMax = clipYMax; } 819 { *xMin = clipXMin; *yMin = clipYMin; *xMax = clipXMax; *yMax = clipYMax; }
820 void getUserClipBBox(fouble *xMin, fouble *yMin, fouble *xMax, fouble *yMax);
786 fouble getLineX() { return lineX; } 821 fouble getLineX() { return lineX; }
787 fouble getLineY() { return lineY; } 822 fouble getLineY() { return lineY; }
788 823
789 // Is there a current point/path? 824 // Is there a current point/path?
790 GBool isCurPt() { return path->isCurPt(); } 825 GBool isCurPt() { return path->isCurPt(); }
791 GBool isPath() { return path->isPath(); } 826 GBool isPath() { return path->isPath(); }
@@ -862,13 +897,13 @@ public:
862 // Update clip region. 897 // Update clip region.
863 void clip(); 898 void clip();
864 899
865 // Text position. 900 // Text position.
866 void textMoveTo(fouble tx, fouble ty) 901 void textMoveTo(fouble tx, fouble ty)
867 { lineX = tx; lineY = ty; textTransform(tx, ty, &curX, &curY); } 902 { lineX = tx; lineY = ty; textTransform(tx, ty, &curX, &curY); }
868 void textShift(fouble tx); 903 void textShift(fouble tx, fouble ty);
869 void shift(fouble dx, fouble dy); 904 void shift(fouble dx, fouble dy);
870 905
871 // Push/pop GfxState on/off stack. 906 // Push/pop GfxState on/off stack.
872 GfxState *save(); 907 GfxState *save();
873 GfxState *restore(); 908 GfxState *restore();
874 GBool hasSaves() { return saved != NULL; } 909 GBool hasSaves() { return saved != NULL; }