MythTV  master
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
BumpScope Class Reference

#include <bumpscope.h>

Inheritance diagram for BumpScope:
Inheritance graph
[legend]
Collaboration diagram for BumpScope:
Collaboration graph
[legend]

Public Member Functions

 BumpScope ()
 
 ~BumpScope () override
 
void resize (const QSize &size) override
 
bool process (VisualNode *node) override
 
bool draw (QPainter *p, const QColor &back) override
 
void handleKeyPress (const QString &action) override
 
- Public Member Functions inherited from VisualBase
 VisualBase (bool screensaverenable=false)
 
virtual ~VisualBase (void)
 
virtual bool processUndisplayed (VisualNode *)
 
virtual int getDesiredFPS (void)
 
virtual unsigned long getDesiredSamples (void)
 

Private Member Functions

void generate_cmap (unsigned int color)
 
void generate_phongdat (void)
 
void translate (int x, int y, int *xo, int *yo, int *xd, int *yd, int *angle)
 
void draw_vert_line (unsigned char *buffer, int x, int y1, int y2)
 
void render_light (int lx, int ly)
 

Static Private Member Functions

static void blur_8 (unsigned char *ptr, int w, int h, int bpl)
 
static void rgb_to_hsv (unsigned int color, double *h, double *s, double *v)
 
static void hsv_to_rgb (double h, double s, double v, unsigned int *color)
 

Private Attributes

QImage * m_image {nullptr}
 
QSize m_size {0,0}
 
unsigned int m_color {0x2050FF}
 
unsigned int m_x {0}
 
unsigned int m_y {0}
 
unsigned int m_width {800}
 
unsigned int m_height {600}
 
unsigned int m_phongRad {800}
 
bool m_colorCycle {true}
 
bool m_movingLight {true}
 
int m_bpl {0}
 
vector< vector< unsigned char > > m_phongDat
 
unsigned char * m_rgbBuf {nullptr}
 
double m_intense1 [256] {}
 
double m_intense2 [256] {}
 
int m_iangle {0}
 
int m_ixo {0}
 
int m_iyo {0}
 
int m_ixd {0}
 
int m_iyd {0}
 
int m_ilx {0}
 
int m_ily {0}
 
int m_wasMoving {0}
 
int m_wasColor {0}
 
double m_ih {0.0}
 
double m_is {0.0}
 
double m_iv {0.0}
 
double m_isd {0.0}
 
int m_ihd {0}
 
unsigned int m_icolor {0}
 

Additional Inherited Members

- Static Public Member Functions inherited from VisualBase
static void drawWarning (QPainter *p, const QColor &back, const QSize &size, const QString &warning, int fontsize=28)
 
- Protected Attributes inherited from VisualBase
int m_fps {20}
 
bool m_xscreensaverenable {true}
 

Detailed Description

Definition at line 12 of file bumpscope.h.

Constructor & Destructor Documentation

◆ BumpScope()

BumpScope::BumpScope ( )

Definition at line 20 of file bumpscope.cpp.

◆ ~BumpScope()

BumpScope::~BumpScope ( )
override

Definition at line 33 of file bumpscope.cpp.

Member Function Documentation

◆ resize()

void BumpScope::resize ( const QSize &  size)
overridevirtual

Implements VisualBase.

Definition at line 42 of file bumpscope.cpp.

◆ process()

bool BumpScope::process ( VisualNode node)
overridevirtual

Implements VisualBase.

Definition at line 345 of file bumpscope.cpp.

◆ draw()

bool BumpScope::draw ( QPainter *  p,
const QColor &  back 
)
overridevirtual

Implements VisualBase.

Definition at line 381 of file bumpscope.cpp.

◆ handleKeyPress()

void BumpScope::handleKeyPress ( const QString &  action)
inlineoverridevirtual

Implements VisualBase.

Definition at line 21 of file bumpscope.h.

◆ blur_8()

void BumpScope::blur_8 ( unsigned char *  ptr,
int  w,
int  h,
int  bpl 
)
staticprivate

Definition at line 75 of file bumpscope.cpp.

◆ generate_cmap()

void BumpScope::generate_cmap ( unsigned int  color)
private

Definition at line 91 of file bumpscope.cpp.

◆ generate_phongdat()

void BumpScope::generate_phongdat ( void  )
private

Definition at line 121 of file bumpscope.cpp.

◆ translate()

void BumpScope::translate ( int  x,
int  y,
int *  xo,
int *  yo,
int *  xd,
int *  yd,
int *  angle 
)
private

Definition at line 165 of file bumpscope.cpp.

◆ draw_vert_line()

void BumpScope::draw_vert_line ( unsigned char *  buffer,
int  x,
int  y1,
int  y2 
)
inlineprivate

Definition at line 215 of file bumpscope.cpp.

◆ render_light()

void BumpScope::render_light ( int  lx,
int  ly 
)
private

Definition at line 240 of file bumpscope.cpp.

◆ rgb_to_hsv()

void BumpScope::rgb_to_hsv ( unsigned int  color,
double *  h,
double *  s,
double *  v 
)
staticprivate

Definition at line 273 of file bumpscope.cpp.

◆ hsv_to_rgb()

void BumpScope::hsv_to_rgb ( double  h,
double  s,
double  v,
unsigned int *  color 
)
staticprivate

Definition at line 307 of file bumpscope.cpp.

Member Data Documentation

◆ m_image

QImage* BumpScope::m_image {nullptr}
private

Definition at line 39 of file bumpscope.h.

◆ m_size

QSize BumpScope::m_size {0,0}
private

Definition at line 41 of file bumpscope.h.

◆ m_color

unsigned int BumpScope::m_color {0x2050FF}
private

Definition at line 43 of file bumpscope.h.

◆ m_x

unsigned int BumpScope::m_x {0}
private

Definition at line 44 of file bumpscope.h.

◆ m_y

unsigned int BumpScope::m_y {0}
private

Definition at line 45 of file bumpscope.h.

◆ m_width

unsigned int BumpScope::m_width {800}
private

Definition at line 46 of file bumpscope.h.

◆ m_height

unsigned int BumpScope::m_height {600}
private

Definition at line 47 of file bumpscope.h.

◆ m_phongRad

unsigned int BumpScope::m_phongRad {800}
private

Definition at line 48 of file bumpscope.h.

◆ m_colorCycle

bool BumpScope::m_colorCycle {true}
private

Definition at line 50 of file bumpscope.h.

◆ m_movingLight

bool BumpScope::m_movingLight {true}
private

Definition at line 51 of file bumpscope.h.

◆ m_bpl

int BumpScope::m_bpl {0}
private

Definition at line 54 of file bumpscope.h.

◆ m_phongDat

vector<vector<unsigned char> > BumpScope::m_phongDat
private

Definition at line 56 of file bumpscope.h.

◆ m_rgbBuf

unsigned char* BumpScope::m_rgbBuf {nullptr}
private

Definition at line 57 of file bumpscope.h.

◆ m_intense1

double BumpScope::m_intense1[256] {}
private

Definition at line 58 of file bumpscope.h.

◆ m_intense2

double BumpScope::m_intense2[256] {}
private

Definition at line 59 of file bumpscope.h.

◆ m_iangle

int BumpScope::m_iangle {0}
private

Definition at line 61 of file bumpscope.h.

◆ m_ixo

int BumpScope::m_ixo {0}
private

Definition at line 62 of file bumpscope.h.

◆ m_iyo

int BumpScope::m_iyo {0}
private

Definition at line 63 of file bumpscope.h.

◆ m_ixd

int BumpScope::m_ixd {0}
private

Definition at line 64 of file bumpscope.h.

◆ m_iyd

int BumpScope::m_iyd {0}
private

Definition at line 65 of file bumpscope.h.

◆ m_ilx

int BumpScope::m_ilx {0}
private

Definition at line 66 of file bumpscope.h.

◆ m_ily

int BumpScope::m_ily {0}
private

Definition at line 67 of file bumpscope.h.

◆ m_wasMoving

int BumpScope::m_wasMoving {0}
private

Definition at line 68 of file bumpscope.h.

◆ m_wasColor

int BumpScope::m_wasColor {0}
private

Definition at line 69 of file bumpscope.h.

◆ m_ih

double BumpScope::m_ih {0.0}
private

Definition at line 70 of file bumpscope.h.

◆ m_is

double BumpScope::m_is {0.0}
private

Definition at line 71 of file bumpscope.h.

◆ m_iv

double BumpScope::m_iv {0.0}
private

Definition at line 72 of file bumpscope.h.

◆ m_isd

double BumpScope::m_isd {0.0}
private

Definition at line 73 of file bumpscope.h.

◆ m_ihd

int BumpScope::m_ihd {0}
private

Definition at line 74 of file bumpscope.h.

◆ m_icolor

unsigned int BumpScope::m_icolor {0}
private

Definition at line 75 of file bumpscope.h.


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