Mako 7.3.0 API
transforms.h File Reference

Transforms for JawsMako, allowing direct modification of individual brushes, nodes, or entire pages. More...

#include <jawsmako/jawsmako.h>
#include <edl/idompath.h>
#include <edl/idomglyphs.h>
#include <edl/idombrush.h>
#include <edl/iabort.h>

Classes

class  JawsMako::CTransformState
 Class for tracking the graphics state leading to the point where a transform is applied. More...
 
class  JawsMako::ITransform
 ITransforms provide a method of applying common operations on DOM objects such as brushes, nodes, colors, colorspaces or entire trees. Not all transforms will operate on all kinds of objects, as noted in their descriptions. More...
 
class  JawsMako::ITransformChain
 ITransformChain represents a change of ITransforms, and provides a method of applying a range of transforms to an entire DOM tree. Instances of this type attempt to ensure that shared resources are modified once only. More...
 
class  JawsMako::IImageEncoderTransform
 A simple transform for image encoding. Most useful for encoding abstract images such as IDOMRecombineImage, IDOMRawImage and IDOMFilteredImage as PNG, Tiff or Jpeg. Images may be color converted if they are not compatible with the desired image type. More...
 
class  JawsMako::IImageDownsamplerTransform
 A transform for downsampling images above a given effective resolution to a desired target effective resolution. More...
 
class  JawsMako::IColorConverterTransform
 A transform for color conversion, converting all appropriate DOM contents to a desired target color space. More...
 
class  JawsMako::IComplexColorSimplifierTransform
 A simple transform that looks for DeviceN or Indexed color spaces, and where found, simplifies the hosting objects to use the underlying color space (for Indexed cases) or the alternate color space (for DeviceN cases). Useful in particular for consumers that do not support such color spaces. DOM brushes using only the /None colorant in a DeviceN colorspace may be dropped entirely. More...
 
class  JawsMako::IImageMergerTransform
 A simple transform that looks for nearby images and attempts to glom them together in a single image. Some producers can break images up into images consisting of a single scanline; this transform attempts to put them back together again. This transform can handle images with a mask channel, but does not attempt to merge images with an alpha channel. More...
 
class  JawsMako::IOptionalContentFixerTransform
 A simple transform that strips the DOM of any PDF optional content that is not visible for the given document use. This transform also selects from any alternate images, if present. More...
 
class  JawsMako::ICFFCIDSplitterTransform
 A simple transform that looks for CID CFF Fonts containing multiple SubFonts. Some viewers do not support these fonts, or do so poorly. If found, this transform will split out the sub fonts into individual font streams, and adjust the Glyphs nodes where they are used accordingly. More...
 
class  JawsMako::ICFFSanitizerTransform
 A simple transform that scans and sanitises CFF Fonts for wider interoperability. More...
 
class  JawsMako::IStrokerTransform
 A transform for converting some or all stroked paths into plain filled paths. More...
 
class  JawsMako::IFormUnpackerTransform
 A transform for unpacking an IDOMFormInstance directly into the DOM tree. That is, in the DOM tree the IDOMFormInstance is replaced with the unpacked contents of the referenced IDOMForm. More...
 
class  JawsMako::IRendererTransform
 A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an image representation. Currently only operates on IDOMFixedPages; this restriction should be eased in future versions. More...
 
class  JawsMako::IRedactorTransform
 A transform for applying redaction redactions. More...
 
class  JawsMako::IType3UnpackerTransform
 A transform for unpacking glyphs using a Type 3 font into regular DOM. More...
 
class  JawsMako::IOverprintSimulationTransform
 A transform that modifies DOM such that any overprint present in the DOM will be visible when written or rendered in an environment that does not support overprint. More...
 
class  JawsMako::IPageCropperTransform
 Very simple transform for cropping pages to one of the standard boxes. More...
 
class  JawsMako::IPatternConverterTransform
 Transform to convert PDF/PS tiling/shading patterns to XPS- compatible forms where possible. More...
 
class  JawsMako::IFontProcessorTransform
 A transform for performing font subsetting and merging. More...
 
class  JawsMako::IFontProcessorDeferredTransform
 A transform for performing font subsetting and merging, but it only replaces modified fonts with placeholders. These fonts will /not/ be usable until finaliseFonts() is called. More...
 
class  JawsMako::IBlendSimplifierTransform
 A transform to transform linear or radial gradients with repeat or reflect padding to simpler types. For linear gradients this means a simple linear gradient inside a tiling visual brush. For radial gradients, the stops must be repeated as required. More...
 
class  JawsMako::ISoftMaskConverterTransform
 A transform that converts PDF style soft masks to opacity masks, suitable for XPS. More...
 
class  JawsMako::IFormDeduplicatorTransform
 A transform that attempts to deduplicate graphically identical IDOMForm objects. Note that non-graphical properties, such as additional dictionary entries, structure information, etc, are not consulted when looking for identical forms. More...
 

Typedefs

typedef CEDLVector< ITransformPtr > JawsMako::CTransformVect
 A vector of transform instances.
 

Enumerations

enum  JawsMako::eBrushUsage {
  JawsMako::eBUNone = 0 , JawsMako::eBUGeneral , JawsMako::eBUFill , JawsMako::eBUStroke ,
  JawsMako::eBUOpacityMask , JawsMako::eBUAlternateImage
}
 When a CTransformState has been pushed for a brush, this indicates the usage of that brush. If we descend into a brush, this allows the transform to know what kind of brush it is in. More...
 

Detailed Description

Transforms for JawsMako, allowing direct modification of individual brushes, nodes, or entire pages.