7 #ifndef __NTV2_CAPTIONRENDERER__ 8 #define __NTV2_CAPTIONRENDERER__ 43 const bool inAutoOpen =
true);
48 static bool FlushGlyphCaches (
void);
61 static bool BurnChar (
const UByte inCharCode,
88 static bool BurnString (
const std::string & inString,
92 const UWord inRowNum = 15,
93 const UWord inColumnNum = 1);
110 static bool BurnStringAtXY (
const std::string & inString,
123 virtual bool Open (
void);
130 virtual bool Close (
void);
136 virtual inline bool IsOpen (
void)
const {
return mGlyphHeightInLines && mGlyphWidthInBytes && mGlyphWidthInPixels;}
183 virtual bool GetCharacterRasterOrigin (
const UWord in608CaptionRow,
const UWord in608CaptionCol,
184 UWord & outVertLineOffset,
UWord & outHorzPixelOffset)
const;
226 virtual inline ULWord GetTotalBytes (
void)
const {
return mBytesPerAttribute * GetNumActivePreloadedGlyphsRasters();}
236 virtual ULWordSequence GetActivePreloadedGlyphsRastersAttributes (
void)
const;
245 virtual std::ostream & Print (std::ostream & inOutStream,
const bool inIncludeActives =
false)
const;
271 virtual bool CreatePreloadedGlyphsRasterForAttribute (
const NTV2Line21Attributes & inAttribs)
const;
272 virtual bool HasPreloadedGlyphsRasterForAttribute (
const NTV2Line21Attributes & inAttribs)
const;
276 #if !defined(NTV2_DEPRECATE_16_0) // Old APIs 281 #endif // !defined(NTV2_DEPRECATE_16_0) 301 typedef std::map <ULWord, UByte *> AttribToBufferMap;
302 typedef AttribToBufferMap::iterator AttribToBufferMapIter;
303 typedef AttribToBufferMap::const_iterator AttribToBufferMapConstIter;
307 mutable AttribToBufferMap mpRasters;
308 UWord mHRasterPixelsPerGlyphDot;
309 UWord mVRasterLinesPerGlyphDot;
310 UWord mVCaptionRasterOrigin;
311 UWord mHCaptionRasterOrigin;
312 UWord mGlyphWidthInPixels;
313 UWord mGlyphWidthInBytes;
314 UWord mGlyphHeightInLines;
315 ULWord mBytesPerAttribute;
324 #endif // __NTV2_CAPTIONRENDERER__ std::ostream & operator<<(std::ostream &inOutStream, const CNTV2CaptionRendererPtr &inObjPtr)
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
virtual UWord GetGlyphHeightInLines(void) const
I am a reference-counted pointer template class. I am intended to be a proxy for an underlying object...
Defines the AJARefPtr template class.
Declaration of NTV2CCFont.
virtual ULWord GetPreloadedGlyphsRasterRowBytes(void) const
virtual UWord GetGlyphWidthInPixels(void) const
virtual ULWord GetNumActivePreloadedGlyphsRasters(void) const
This is the font used when rendering CEA-608 captions into a frame buffer. I define a "dot" map havin...
virtual UWord GlyphDotHeightToRasterLines(const UWord inVHeightInGlyphDots) const
Returns the equivalent number of horizontal raster pixels that correspond to the given number of glyp...
Enumerations for controlling NTV2 devices.
CEA-608 Character Attributes.
virtual NTV2PixelFormat GetPixelFormat(void) const
Returns the frame buffer format that I'm currently "open" for.
virtual UWord GetPreloadedGlyphsRasterWidthInPixels(void) const
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
virtual UWord GetGlyphWidthInBytes(void) const
Describes a user-space buffer on the host computer. I have an address and a length, plus some optional attributes (allocated by SDK?, page-aligned? etc.).
virtual UWord GlyphDotWidthToRasterPixels(const UWord inHWidthInGlyphDots) const
Returns the equivalent number of horizontal raster pixels that correspond to the given number of glyp...
AJARefPtr< CNTV2CaptionRenderer > CNTV2CaptionRendererPtr
virtual ULWord GetTotalBytes(void) const
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image...
virtual bool IsOpen(void) const
Answers true if I'm currently open.
std::vector< uint32_t > ULWordSequence
An ordered sequence of ULWord (uint32_t) values.
#define NTV2_DEPRECATED_16_0(__f__)
virtual UWord GetPreloadedGlyphsRasterHeightInLines(void) const
Declares several data types used with 608/SD captioning.