ReactOS  0.4.14-dev-1036-g3c5b10f
DisplayList Class Reference

#include <displaylist.h>

Collaboration diagram for DisplayList:

Public Member Functions

 DisplayList (NurbsTessellator *)
 
 ~DisplayList (void)
 
void play (void)
 
void append (PFVS work, void *arg, PFVS cleanup)
 
void endList (void)
 

Private Attributes

Dlnodenodes
 
Pool dlnodePool
 
Dlnode ** lastNode
 
NurbsTessellatornt
 

Detailed Description

Definition at line 65 of file displaylist.h.

Constructor & Destructor Documentation

◆ DisplayList()

DisplayList::DisplayList ( NurbsTessellator _nt)

Definition at line 46 of file displaylist.cc.

46  :
47  dlnodePool( sizeof( Dlnode ), 1, "dlnodepool" )
48 {
49  lastNode = &nodes;
50  nt = _nt;
51 }
Pool dlnodePool
Definition: displaylist.h:74
NurbsTessellator * nt
Definition: displaylist.h:76
Dlnode * nodes
Definition: displaylist.h:73
Dlnode ** lastNode
Definition: displaylist.h:75

◆ ~DisplayList()

DisplayList::~DisplayList ( void  )

Definition at line 53 of file displaylist.cc.

54 {
55  for( Dlnode *nextNode; nodes; nodes = nextNode ) {
56  nextNode = nodes->next;
57  if( nodes->cleanup != 0 ) (nt->*nodes->cleanup)( nodes->arg );
58  //nodes->deleteMe(dlnodePool);
59  }
60 }
Dlnode * next
Definition: displaylist.h:53
void * arg
Definition: displaylist.h:51
NurbsTessellator * nt
Definition: displaylist.h:76
Dlnode * nodes
Definition: displaylist.h:73
PFVS cleanup
Definition: displaylist.h:52

Member Function Documentation

◆ append()

void DisplayList::append ( PFVS  work,
void arg,
PFVS  cleanup 
)

Definition at line 76 of file displaylist.cc.

77 {
78  Dlnode *node = new(dlnodePool) Dlnode( work, arg, cleanup );
79  *lastNode = node;
80  lastNode = &(node->next);
81 }
Pool dlnodePool
Definition: displaylist.h:74
void * next
Definition: dlist.c:360
struct node node
Dlnode ** lastNode
Definition: displaylist.h:75
char * cleanup(char *str)
Definition: wpickclick.c:99
Definition: dlist.c:348

◆ endList()

void DisplayList::endList ( void  )

Definition at line 70 of file displaylist.cc.

71 {
72  *lastNode = 0;
73 }
Dlnode ** lastNode
Definition: displaylist.h:75

Referenced by NurbsTessellator::endRecording().

◆ play()

void DisplayList::play ( void  )

Definition at line 63 of file displaylist.cc.

64 {
65  for( Dlnode *node = nodes; node; node = node->next )
66  if( node->work != 0 ) (nt->*node->work)( node->arg );
67 }
void * next
Definition: dlist.c:360
NurbsTessellator * nt
Definition: displaylist.h:76
Dlnode * nodes
Definition: displaylist.h:73
struct node node
Definition: dlist.c:348

Member Data Documentation

◆ dlnodePool

Pool DisplayList::dlnodePool
private

Definition at line 74 of file displaylist.h.

Referenced by append().

◆ lastNode

Dlnode** DisplayList::lastNode
private

Definition at line 75 of file displaylist.h.

Referenced by append(), DisplayList(), and endList().

◆ nodes

Dlnode* DisplayList::nodes
private

Definition at line 73 of file displaylist.h.

Referenced by DisplayList(), play(), and ~DisplayList().

◆ nt

NurbsTessellator* DisplayList::nt
private

Definition at line 76 of file displaylist.h.

Referenced by DisplayList(), play(), and ~DisplayList().


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