# Dirac - A Video Codec

Created by the British Broadcasting Corporation.

# dirac_instr::DrawOverlay Class Reference

Base class for block overlay objects.

`#include <draw_overlay.h>`

Inheritance diagram for dirac_instr::DrawOverlay:

[legend]
Collaboration diagram for dirac_instr::DrawOverlay:

[legend]
List of all members.

## Public Member Functions

- DrawOverlay (Frame &, DrawFrameMotionParams &)
    Constructor.
- virtual ~DrawOverlay ()
    Destructor.
- virtual void DrawBlock (int, int)=0
    Carries out overlay for single block.
- virtual void DrawLegend ()=0
    Draws overlay legend.
- void DrawReferenceNumbers (int, int)
    Draws frame numbers for both references.
- void DrawReferenceNumber (int, int)
    Draws frame number for chosen reference.
- void DrawFrameNumber (int)
    Draws current frame number.
- void DrawCharacter (const PicArray &, int, int)
    Draws a character / number / symbol.
- const OverlaySymbols & Symbols () const
    Returns reference to symbols object.

## Protected Member Functions

- void GetPowerUV (int, int &, int &)
    Calculates U and V for particular value normalised to 1000.
- void DrawPowerBar (int, int)
    Draws power bar legend with given limits.
- void DrawValue (int, int, int)
    Draws value.
- void DrawMvBlockUV (int, int, int, int)
    Colours motion vector block referenced by motion vector.
- void DrawBlockUV (int, int, int, int)
    Colours an 8x8 block referenced by TL chroma pixel.

## Protected Attributes

- Frame & m_frame
    Frame data.
- DrawFrameMotionParams & m_draw_params
    Block parameters and chroma scaling.
- OverlaySymbols m_symbols
    Symbols.

## Constructor & Destructor Documentation

dirac_instr::DrawOverlay::DrawOverlay | ( | Frame & | ,
|  | DrawFrameMotionParams & |  |
| ) |  |  |

virtual dirac_instr::DrawOverlay::~DrawOverlay | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual void dirac_instr::DrawOverlay::DrawBlock | ( | int | ,
|  | int |  |
| ) |  |  | `[pure virtual]`

Implemented in dirac_instr::DrawGMInliers, dirac_instr::DrawMotionArrows, dirac_instr::DrawMotionColour, dirac_instr::DrawMotionColourArrows, dirac_instr::DrawPredMode, dirac_instr::DrawSad, and dirac_instr::DrawSplitMode.

void dirac_instr::DrawOverlay::DrawBlockUV | ( | int | ,
|  | int | ,
|  | int | ,
|  | int |  |
| ) |  |  | `[protected]`

void dirac_instr::DrawOverlay::DrawCharacter | ( | const PicArray & | ,
|  | int | ,
|  | int |  |
| ) |  |  |

void dirac_instr::DrawOverlay::DrawFrameNumber | ( | int |  | ) |

virtual void dirac_instr::DrawOverlay::DrawLegend | ( |  | ) | `[pure virtual]`

Implemented in dirac_instr::DrawGMInliers, dirac_instr::DrawMotionArrows, dirac_instr::DrawMotionColour, dirac_instr::DrawMotionColourArrows, dirac_instr::DrawPredMode, dirac_instr::DrawSad, and dirac_instr::DrawSplitMode.

void dirac_instr::DrawOverlay::DrawMvBlockUV | ( | int | ,
|  | int | ,
|  | int | ,
|  | int |  |
| ) |  |  | `[protected]`

void dirac_instr::DrawOverlay::DrawPowerBar | ( | int | ,
|  | int |  |
| ) |  |  | `[protected]`

void dirac_instr::DrawOverlay::DrawReferenceNumber | ( | int | ,
|  | int |  |
| ) |  |  |

void dirac_instr::DrawOverlay::DrawReferenceNumbers | ( | int | ,
|  | int |  |
| ) |  |  |

void dirac_instr::DrawOverlay::DrawValue | ( | int | ,
|  | int | ,
|  | int |  |
| ) |  |  | `[protected]`

void dirac_instr::DrawOverlay::GetPowerUV | ( | int | ,
|  | int & | ,
|  | int & |  |
| ) |  |  | `[protected]`

const OverlaySymbols& dirac_instr::DrawOverlay::Symbols | ( |  | ) | const`[inline]`

## Member Data Documentation

DrawFrameMotionParams& dirac_instr::DrawOverlay::m_draw_params`[protected]`

Frame& dirac_instr::DrawOverlay::m_frame`[protected]`

OverlaySymbols dirac_instr::DrawOverlay::m_symbols`[protected]`

The documentation for this class was generated from the following file:

- draw_overlay.h

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.