Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Side by Side Diff: core/include/fxge/fx_ge.h

Issue 1828283002: support gradients and stroke+fill (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: address comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fxge/win32/win32_int.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef CORE_INCLUDE_FXGE_FX_GE_H_ 7 #ifndef CORE_INCLUDE_FXGE_FX_GE_H_
8 #define CORE_INCLUDE_FXGE_FX_GE_H_ 8 #define CORE_INCLUDE_FXGE_FX_GE_H_
9 9
10 #include "core/include/fxge/fx_dib.h" 10 #include "core/include/fxge/fx_dib.h"
11 #include "core/include/fxge/fx_font.h" 11 #include "core/include/fxge/fx_font.h"
12 12
13 class CFX_Font; 13 class CFX_Font;
14 class CFX_FontMgr; 14 class CFX_FontMgr;
15 class CFX_FontCache; 15 class CFX_FontCache;
16 class CFX_FaceCache; 16 class CFX_FaceCache;
17 class CPDF_ShadingPattern;
17 class IFX_RenderDeviceDriver; 18 class IFX_RenderDeviceDriver;
18 class CCodec_ModuleMgr; 19 class CCodec_ModuleMgr;
19 class SkPictureRecorder; 20 class SkPictureRecorder;
20 21
21 class CFX_GEModule { 22 class CFX_GEModule {
22 public: 23 public:
23 static void Create(const char** pUserFontPaths); 24 static void Create(const char** pUserFontPaths);
24 25
25 static void Use(CFX_GEModule* pMgr); 26 static void Use(CFX_GEModule* pMgr);
26 27
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 #define FXRC_ALPHA_MASK 0x04 209 #define FXRC_ALPHA_MASK 0x04
209 #define FXRC_ALPHA_PATH 0x10 210 #define FXRC_ALPHA_PATH 0x10
210 #define FXRC_ALPHA_IMAGE 0x20 211 #define FXRC_ALPHA_IMAGE 0x20
211 #define FXRC_ALPHA_OUTPUT 0x40 212 #define FXRC_ALPHA_OUTPUT 0x40
212 #define FXRC_BLEND_MODE 0x80 213 #define FXRC_BLEND_MODE 0x80
213 #define FXRC_SOFT_CLIP 0x100 214 #define FXRC_SOFT_CLIP 0x100
214 #define FXRC_CMYK_OUTPUT 0x200 215 #define FXRC_CMYK_OUTPUT 0x200
215 #define FXRC_BITMASK_OUTPUT 0x400 216 #define FXRC_BITMASK_OUTPUT 0x400
216 #define FXRC_BYTEMASK_OUTPUT 0x800 217 #define FXRC_BYTEMASK_OUTPUT 0x800
217 #define FXRENDER_IMAGE_LOSSY 0x1000 218 #define FXRENDER_IMAGE_LOSSY 0x1000
219 #define FXRC_FILLSTROKE_PATH 0x2000
220 #define FXRC_SHADING 0x4000
218 #define FXFILL_ALTERNATE 1 221 #define FXFILL_ALTERNATE 1
219 #define FXFILL_WINDING 2 222 #define FXFILL_WINDING 2
220 #define FXFILL_FULLCOVER 4 223 #define FXFILL_FULLCOVER 4
221 #define FXFILL_RECT_AA 8 224 #define FXFILL_RECT_AA 8
222 #define FX_FILL_STROKE 16 225 #define FX_FILL_STROKE 16
223 #define FX_STROKE_ADJUST 32 226 #define FX_STROKE_ADJUST 32
224 #define FX_STROKE_TEXT_MODE 64 227 #define FX_STROKE_TEXT_MODE 64
225 #define FX_FILL_TEXT_MODE 128 228 #define FX_FILL_TEXT_MODE 128
226 #define FX_ZEROAREA_FILL 256 229 #define FX_ZEROAREA_FILL 256
227 #define FXFILL_NOPATHSMOOTH 512 230 #define FXFILL_NOPATHSMOOTH 512
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 int nFlag = 0, 393 int nFlag = 0,
391 int alpha_flag = 0, 394 int alpha_flag = 0,
392 void* pIccTransform = NULL, 395 void* pIccTransform = NULL,
393 int blend_type = FXDIB_BLEND_NORMAL); 396 int blend_type = FXDIB_BLEND_NORMAL);
394 virtual void Begin() {} 397 virtual void Begin() {}
395 virtual void End() {} 398 virtual void End() {}
396 399
397 private: 400 private:
398 void InitDeviceInfo(); 401 void InitDeviceInfo();
399 void UpdateClipBox(); 402 void UpdateClipBox();
403 FX_BOOL DrawFillStrokePath(const CFX_PathData* pPathData,
404 const CFX_Matrix* pObject2Device,
405 const CFX_GraphStateData* pGraphState,
406 FX_DWORD fill_color,
407 FX_DWORD stroke_color,
408 int fill_mode,
409 int alpha_flag,
410 void* pIccTransform,
411 int blend_type);
400 412
401 CFX_DIBitmap* m_pBitmap; 413 CFX_DIBitmap* m_pBitmap;
402 int m_Width; 414 int m_Width;
403 int m_Height; 415 int m_Height;
404 int m_bpp; 416 int m_bpp;
405 int m_RenderCaps; 417 int m_RenderCaps;
406 int m_DeviceClass; 418 int m_DeviceClass;
407 FX_RECT m_ClipBox; 419 FX_RECT m_ClipBox;
408 IFX_RenderDeviceDriver* m_pDeviceDriver; 420 IFX_RenderDeviceDriver* m_pDeviceDriver;
409 }; 421 };
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 CFX_Font* pFont, 592 CFX_Font* pFont,
581 CFX_FontCache* pCache, 593 CFX_FontCache* pCache,
582 const CFX_Matrix* pObject2Device, 594 const CFX_Matrix* pObject2Device,
583 FX_FLOAT font_size, 595 FX_FLOAT font_size,
584 FX_DWORD color, 596 FX_DWORD color,
585 int alpha_flag = 0, 597 int alpha_flag = 0,
586 void* pIccTransform = NULL) { 598 void* pIccTransform = NULL) {
587 return FALSE; 599 return FALSE;
588 } 600 }
589 601
590 virtual void* GetPlatformSurface() { return NULL; } 602 virtual void* GetPlatformSurface() const { return NULL; }
603 virtual int GetDriverType() const { return 0; }
604 virtual void ClearDriver() {}
591 605
592 virtual int GetDriverType() { return 0; } 606 virtual FX_BOOL DrawShading(CPDF_ShadingPattern* pPattern,
593 607 CFX_Matrix* pMatrix,
594 virtual void ClearDriver() {} 608 int alpha,
609 FX_BOOL bAlphaMode) {
610 return false;
611 }
595 }; 612 };
596 613
597 class IFX_PSOutput { 614 class IFX_PSOutput {
598 public: 615 public:
599 virtual void Release() = 0; 616 virtual void Release() = 0;
600 virtual void OutputPS(const FX_CHAR* str, int len) = 0; 617 virtual void OutputPS(const FX_CHAR* str, int len) = 0;
601 618
602 protected: 619 protected:
603 virtual ~IFX_PSOutput() {} 620 virtual ~IFX_PSOutput() {}
604 }; 621 };
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 void FindPSFontGlyph(CFX_FaceCache* pFaceCache, 724 void FindPSFontGlyph(CFX_FaceCache* pFaceCache,
708 CFX_Font* pFont, 725 CFX_Font* pFont,
709 const FXTEXT_CHARPOS& charpos, 726 const FXTEXT_CHARPOS& charpos,
710 int& ps_fontnum, 727 int& ps_fontnum,
711 int& ps_glyphindex); 728 int& ps_glyphindex);
712 729
713 void WritePSBinary(const uint8_t* data, int len); 730 void WritePSBinary(const uint8_t* data, int len);
714 }; 731 };
715 732
716 #endif // CORE_INCLUDE_FXGE_FX_GE_H_ 733 #endif // CORE_INCLUDE_FXGE_FX_GE_H_
OLDNEW
« no previous file with comments | « core/fxge/win32/win32_int.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698