ReactOS 0.4.15-dev-7131-ge4d03f4
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}
Dlnode ** lastNode
Definition: displaylist.h:75
NurbsTessellator * nt
Definition: displaylist.h:76
Pool dlnodePool
Definition: displaylist.h:74
Dlnode * nodes
Definition: displaylist.h:73

◆ ~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}
void * arg
Definition: displaylist.h:51
PFVS cleanup
Definition: displaylist.h:52
Dlnode * next
Definition: displaylist.h:53

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}
static void cleanup(void)
Definition: main.c:1335
Definition: dlist.c:348
void * next
Definition: dlist.c:360

◆ endList()

void DisplayList::endList ( void  )

Definition at line 70 of file displaylist.cc.

71{
72 *lastNode = 0;
73}

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}

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: