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

Side by Side Diff: core/src/fxge/skia/fx_skia_device.h

Issue 1800523005: Move core/src/ up to core/. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 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/src/fxge/ge/fx_text_int.h ('k') | core/src/fxge/skia/fx_skia_device.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CORE_SRC_FXGE_SKIA_FX_SKIA_DEVICE_H_
6 #define CORE_SRC_FXGE_SKIA_FX_SKIA_DEVICE_H_
7
8 #if defined(_SKIA_SUPPORT_)
9
10 class SkCanvas;
11 class SkPaint;
12 class SkPath;
13 struct SkIRect;
14
15 class CFX_SkiaDeviceDriver : public IFX_RenderDeviceDriver {
16 public:
17 CFX_SkiaDeviceDriver(CFX_DIBitmap* pBitmap,
18 int dither_bits,
19 FX_BOOL bRgbByteOrder,
20 CFX_DIBitmap* pOriDevice,
21 FX_BOOL bGroupKnockout);
22 ~CFX_SkiaDeviceDriver() override;
23
24 /** Options */
25 virtual int GetDeviceCaps(int caps_id);
26
27 /** Save and restore all graphic states */
28 virtual void SaveState();
29 virtual void RestoreState(FX_BOOL bKeepSaved);
30
31 /** Set clipping path using filled region */
32 virtual FX_BOOL SetClip_PathFill(
33 const CFX_PathData* pPathData, // path info
34 const CFX_Matrix* pObject2Device, // optional transformation
35 int fill_mode); // fill mode, WINDING or ALTERNATE
36
37 /** Set clipping path using stroked region */
38 virtual FX_BOOL SetClip_PathStroke(
39 const CFX_PathData* pPathData, // path info
40 const CFX_Matrix* pObject2Device, // optional transformation
41 const CFX_GraphStateData*
42 pGraphState); // graphic state, for pen attributes
43
44 /** Draw a path */
45 virtual FX_BOOL DrawPath(const CFX_PathData* pPathData,
46 const CFX_Matrix* pObject2Device,
47 const CFX_GraphStateData* pGraphState,
48 FX_DWORD fill_color,
49 FX_DWORD stroke_color,
50 int fill_mode,
51 int alpha_flag = 0,
52 void* pIccTransform = NULL,
53 int blend_type = FXDIB_BLEND_NORMAL);
54
55 virtual FX_BOOL SetPixel(int x,
56 int y,
57 FX_DWORD color,
58 int alpha_flag = 0,
59 void* pIccTransform = NULL);
60
61 virtual FX_BOOL FillRect(const FX_RECT* pRect,
62 FX_DWORD fill_color,
63 int alpha_flag = 0,
64 void* pIccTransform = NULL,
65 int blend_type = FXDIB_BLEND_NORMAL);
66
67 /** Draw a single pixel (device dependant) line */
68 virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1,
69 FX_FLOAT y1,
70 FX_FLOAT x2,
71 FX_FLOAT y2,
72 FX_DWORD color,
73 int alpha_flag = 0,
74 void* pIccTransform = NULL,
75 int blend_type = FXDIB_BLEND_NORMAL) {
76 return FALSE;
77 }
78
79 virtual FX_BOOL GetClipBox(FX_RECT* pRect);
80
81 /** Load device buffer into a DIB */
82 virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap,
83 int left,
84 int top,
85 void* pIccTransform = NULL,
86 FX_BOOL bDEdge = FALSE);
87
88 virtual CFX_DIBitmap* GetBackDrop() { return m_pAggDriver->GetBackDrop(); }
89
90 virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap,
91 FX_DWORD color,
92 const FX_RECT* pSrcRect,
93 int dest_left,
94 int dest_top,
95 int blend_type,
96 int alpha_flag = 0,
97 void* pIccTransform = NULL);
98 virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
99 FX_DWORD color,
100 int dest_left,
101 int dest_top,
102 int dest_width,
103 int dest_height,
104 const FX_RECT* pClipRect,
105 FX_DWORD flags,
106 int alpha_flag = 0,
107 void* pIccTransform = NULL,
108 int blend_type = FXDIB_BLEND_NORMAL);
109
110 virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap,
111 int bitmap_alpha,
112 FX_DWORD color,
113 const CFX_Matrix* pMatrix,
114 FX_DWORD flags,
115 void*& handle,
116 int alpha_flag = 0,
117 void* pIccTransform = NULL,
118 int blend_type = FXDIB_BLEND_NORMAL);
119 virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause);
120 virtual void CancelDIBits(void* handle);
121
122 virtual FX_BOOL DrawDeviceText(int nChars,
123 const FXTEXT_CHARPOS* pCharPos,
124 CFX_Font* pFont,
125 CFX_FontCache* pCache,
126 const CFX_Matrix* pObject2Device,
127 FX_FLOAT font_size,
128 FX_DWORD color,
129 int alpha_flag = 0,
130 void* pIccTransform = NULL);
131
132 virtual FX_BOOL RenderRasterizer(agg::rasterizer_scanline_aa& rasterizer,
133 FX_DWORD color,
134 FX_BOOL bFullCover,
135 FX_BOOL bGroupKnockout,
136 int alpha_flag,
137 void* pIccTransform);
138 void SetClipMask(agg::rasterizer_scanline_aa& rasterizer);
139 void SetClipMask(SkPath& skPath, SkPaint* spaint);
140 virtual uint8_t* GetBuffer() const { return m_pAggDriver->GetBuffer(); }
141 void PaintStroke(SkPaint* spaint, const CFX_GraphStateData* pGraphState);
142
143 private:
144 CFX_AggDeviceDriver* m_pAggDriver;
145 SkCanvas* m_canvas;
146 };
147 #endif // defined(_SKIA_SUPPORT_)
148
149 #endif // CORE_SRC_FXGE_SKIA_FX_SKIA_DEVICE_H_
OLDNEW
« no previous file with comments | « core/src/fxge/ge/fx_text_int.h ('k') | core/src/fxge/skia/fx_skia_device.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698