You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
57 lines
1.5 KiB
/**********************************************************************
|
|
* FontList.h -- Manages a list of FontID objects via an array of
|
|
* FontVector objects.
|
|
*
|
|
**********************************************************************/
|
|
|
|
#if !defined(__FONTLIST_H__)
|
|
#define __FONTLIST_H__
|
|
|
|
|
|
#include "fontvect.h"
|
|
|
|
class CFontClass;
|
|
|
|
const int kDefaultVectSize = 50; // Number of fonts in each CFontArray
|
|
|
|
class CFontList {
|
|
public:
|
|
CFontList( int iSize, int iVectorSize = kDefaultVectSize );
|
|
~CFontList();
|
|
|
|
int bInit();
|
|
CFontList *Clone(void);
|
|
|
|
//
|
|
// The real array functions.
|
|
//
|
|
|
|
int iCount( void );
|
|
int bAdd( CFontClass * t );
|
|
CFontClass * poObjectAt( int idx );
|
|
CFontClass * poDetach( int idx );
|
|
CFontClass * poDetach( CFontClass * t );
|
|
void vDetachAll( );
|
|
int bDelete( int idx );
|
|
int bDelete( CFontClass * t );
|
|
void vDeleteAll( );
|
|
int iFind( CFontClass * t );
|
|
void ReleaseAll(void);
|
|
void AddRefAll(void);
|
|
|
|
private:
|
|
CFontVector ** m_pData;
|
|
int m_iCount; // Number of Fonts
|
|
int m_iVectorCount; // Number of vectors allocated
|
|
int m_iVectorBounds; // Total number of vector points
|
|
int m_iVectorSize; // Number of fonts in each vector
|
|
};
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
* Some things you can do with a font list.
|
|
*/
|
|
HDROP hDropFromList( CFontList * poList );
|
|
|
|
#endif // __FONTLIST_H__
|