My Project
fs_render.h
Go to the documentation of this file.
1 
15 #ifndef FS_RENDER_H_
16 #define FS_RENDER_H_
17 
18 #include "common/fs_common.h"
19 #include "common/fs_image.h"
20 #include "pdf/annots/fs_annot.h"
21 #include "pdf/fs_pdflayer.h"
22 #include "pdf/fs_pdfpage.h"
23 #include "pdf/fs_reflowpage.h"
24 #ifndef _FX_NO_XFA_
25 #include "addon/xfa/fs_xfa.h"
26 #endif
27 
28 #ifdef __APPLE__
29 #include <CoreGraphics/CoreGraphics.h>
30 #endif
31 
36 namespace foxit {
40 namespace common {
66 class Renderer FS_FINAL : public Base {
67  public:
73  typedef enum _ColorMode {
78  } ColorMode;
79 
85  typedef enum _ContentFlag {
87  e_RenderPage = 0x01,
90  } ContentFlag;
91 
92  #ifdef __APPLE__
93 
98  typedef enum _DeviceType {
103  }DeviceType;
104  #endif
105 
118  Renderer(const Bitmap& bitmap, bool is_rgb_order);
119 
120 #if (defined(_WIN32) || defined(_WIN64)) && (!defined(SWIG) || defined(_SWIG_DOTNET_))
121 
128  explicit Renderer(HDC dc);
129 #endif
130 
131 #ifdef __APPLE__
132 
142  Renderer(const CGContextRef& context, DeviceType device_type);
143 #endif
144 
149  Renderer(const Renderer& other);
151  ~Renderer();
152 
160  Renderer& operator = (const Renderer& other);
168  bool operator == (const Renderer& other) const;
176  bool operator != (const Renderer& other) const;
177 
185  bool IsEmpty() const;
186 
210  Progressive StartQuickRender(const pdf::PDFPage& page, const Matrix& matrix, PauseCallback* pause = NULL);
211 
242  Progressive StartRender(const pdf::PDFPage& page, const Matrix& matrix, PauseCallback* pause = NULL);
243 
262  Progressive StartRenderReflowPage(const pdf::ReflowPage& reflow_page, const Matrix& matrix,
263  PauseCallback* pause = NULL);
264 
265 #ifndef _FX_NO_XFA_
266 
286  Progressive StartRenderXFAPage(const addon::xfa::XFAPage& xfa_page_view, const Matrix& matrix, bool is_highlight,
287  PauseCallback* pause = NULL);
288 #endif
289 
314  Progressive StartRenderBitmap(const Bitmap& bitmap, const Matrix& matrix,
315  const RectI* clip_rect = NULL, uint32 interpolation = 0,
316  PauseCallback* pause = NULL);
317 
331  bool RenderAnnot(const pdf::annots::Annot& annot, const Matrix& matrix);
332 
341  void SetClipRect(const RectI* clip_rect);
342 
353  void SetClipPathFill(const Path& clip_path, const Matrix& matrix, foxit::common::FillMode fill_mode);
354 
364  void SetClipPathStroke(const Path& clip_path, const Matrix& matrix, const GraphState* graph_state = NULL);
365 
378  void SetRenderContentFlags(uint32 render_content_flags);
379 
391  void SetTransformAnnotIcon(bool is_to_transform_annot_icon);
392 
404  void SetRenderFormField(bool is_render_formfield);
405 
416  void SetRenderSignature(bool is_render_signature);
417 
428  void SetLayerContext(const pdf::LayerContext& layer_context);
447  void SetColorMode(ColorMode color_mode);
456  void SetMappingModeColors(ARGB background_color, ARGB foreground_color);
457 
468  void SetClearType(bool is_clear_type);
481  void SetPrintTextAsGraphic(bool is_to_print_text_graphic);
482 
493  void SetPrintTextAsImage(bool is_to_print_text_image);
494 
505  void SetForceDownSample(bool is_to_force_down_sample);
506 
517  void SetForceHalftone(bool is_to_force_halftone);
518 
529  void SetRenderPathThinLine(bool is_render_path_thin_line);
530 
541  void SetRenderTextAntiAliasing(bool is_render_text_antialiasing);
542 
553  void SetRenderPathAntiAliasing(bool is_render_path_antialiasing);
554 
566  void SetRenderImageAntiAliasing(bool is_render_image_antialiasing);
567 
568  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
569  explicit Renderer(FS_HANDLE handle = NULL);
570 };
571 } // namespace common
572 } // namespace foxit
573 #endif // FS_RENDER_H_
574 
void SetMappingModeColors(ARGB background_color, ARGB foreground_color)
Set background color and foreground color when color mode is Renderer::e_ColorModeMapping.
Progressive StartRenderReflowPage(const pdf::ReflowPage &reflow_page, const Matrix &matrix, PauseCallback *pause=0)
Start to render a reflow page.
void SetRenderFormField(bool is_render_formfield)
Set the flag to decide whether to render form fields (except signature fields).
void SetClearType(bool is_clear_type)
Set the flag to decide whether to use ClearType-like anti-aliasing to render text objects.
Header file for PDF reflow page related definitions and classes.
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:216
void SetForceDownSample(bool is_to_force_down_sample)
Set the flag to decide whether to use down-sampling for image stretching.
Progressive StartRender(const pdf::PDFPage &page, const Matrix &matrix, PauseCallback *pause=0)
Start to render a PDF page.
void SetPrintTextAsImage(bool is_to_print_text_image)
Set the flag to decide whether to print text as image.
Definition: fs_annot.h:749
Definition: fs_common.h:769
void SetRenderPathThinLine(bool is_render_path_thin_line)
Set the flag to decide whether to draw path as thin line.
Definition: fs_common.h:385
ContentFlag
Enumeration for rendering content flags.
Definition: fs_render.h:85
void SetRenderContentFlags(uint32 render_content_flags)
Set rendering flag to decide what content will be rendered.
Header file for common definitions and classes.
uint32 ARGB
ARGB color type, 32 bits, ((b) | ((g) << 8) | ((r) << 16)) | ((a) << 24)
Definition: fs_basictypes.h:212
Definition: fs_common.h:1467
void SetLayerContext(const pdf::LayerContext &layer_context)
Set layer context to render context handle.
Device type: printer.
Definition: fs_render.h:102
Header file for PDF layer related definitions and classes.
Header file for XFA related definitions and functions.
void SetRenderSignature(bool is_render_signature)
Set the flag to decide whether to render signatures or not.
void SetClipPathStroke(const Path &clip_path, const Matrix &matrix, const GraphState *graph_state=0)
Set clipping path using stroked region.
Definition: fs_pdflayer.h:245
DeviceType
Enumeration for rendering device type.
Definition: fs_render.h:98
Progressive StartQuickRender(const pdf::PDFPage &page, const Matrix &matrix, PauseCallback *pause=0)
Start to quickly render a PDF page, mainly for thumbnail purpose.
bool IsEmpty() const
Check whether current object is empty or not.
If set, page content will be rendered.
Definition: fs_render.h:87
bool RenderAnnot(const pdf::annots::Annot &annot, const Matrix &matrix)
Render a specified annotation.
FillMode
Enumeration for filling mode type, mainly for path graphics object.
Definition: fs_common.h:253
void SetClipRect(const RectI *clip_rect)
Set the clipping rectangle which will be used in following rendering progress.
Header file for PDF page related definitions and classes.
Definition: fs_reflowpage.h:60
void SetRenderImageAntiAliasing(bool is_render_image_antialiasing)
Set the flag to decide whether to draw image anti-aliasing.
Progressive StartRenderBitmap(const Bitmap &bitmap, const Matrix &matrix, const RectI *clip_rect=0, uint32 interpolation=0, PauseCallback *pause=0)
Start to render a bitmap.
void SetClipPathFill(const Path &clip_path, const Matrix &matrix, foxit::common::FillMode fill_mode)
Set clipping path using filled region.
Foxit namespace.
Definition: fs_connectedpdf.h:26
ColorMode
Enumeration for rendering color mode.
Definition: fs_render.h:73
If set, annotations will be rendered.
Definition: fs_render.h:89
Definition: fx_basic.h:3690
Header file for image and bitmap related definitions and classes.
void SetRenderTextAntiAliasing(bool is_render_text_antialiasing)
Set the flag to decide whether to draw text anti-aliasing.
void SetColorMode(ColorMode color_mode)
Set color mode.
void SetForceHalftone(bool is_to_force_halftone)
Set the flag to decide whether to use halftone for image stretching.
Renderer & operator=(const Renderer &other)
Assign operator.
bool operator==(const Renderer &other) const
Equal operator.
#define NULL
The null-pointer value.
Definition: fx_system.h:773
Definition: fs_pdfpage.h:307
void SetPrintTextAsGraphic(bool is_to_print_text_graphic)
Set the flag to decide whether to print text as path or bitmap.
Definition: fs_xfa.h:1124
Normal color mode.
Definition: fs_render.h:75
bool operator !=(const Renderer &other) const
Not equal operator.
Map a color value to the color range defined by a background color and a foreground color.
Definition: fs_render.h:77
Definition: fx_coordinates.h:594
Definition: fx_coordinates.h:1053
Header file for annotation related definitions and classes.
void SetTransformAnnotIcon(bool is_to_transform_annot_icon)
Set the flag to decide whether to transform annotation icon or not when display.
Device type: display device.
Definition: fs_render.h:100
void SetRenderPathAntiAliasing(bool is_render_path_antialiasing)
Set the flag to decide whether to draw path anti-aliasing.
Definition: fs_image.h:36
Progressive StartRenderXFAPage(const addon::xfa::XFAPage &xfa_page_view, const Matrix &matrix, bool is_highlight, PauseCallback *pause=0)
Start to render an XFA page.
FX_UINT32 uint32
32-bit unsigned integer.
Definition: fs_basictypes.h:198
Definition: fs_render.h:66
Renderer(const Bitmap &bitmap, bool is_rgb_order)
Constructor, with bitmap.
Definition: fs_basictypes.h:342

Foxit Software Corporation Logo
@2019 Foxit Software Incorporated. All rights reserved.