mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
// Filename: dynamicTextGlyph.h
|
|
// Created by: drose (09Feb02)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
|
//
|
|
// All use of this software is subject to the terms of the Panda 3d
|
|
// Software license. You should have received a copy of this license
|
|
// along with this source code; you will also find a current copy of
|
|
// the license at http://www.panda3d.org/license.txt .
|
|
//
|
|
// To contact the maintainers of this program write to
|
|
// panda3d@yahoogroups.com .
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef DYNAMICTEXTGLYPH_H
|
|
#define DYNAMICTEXTGLYPH_H
|
|
|
|
#include "pandabase.h"
|
|
|
|
#ifdef HAVE_FREETYPE
|
|
|
|
#include "textGlyph.h"
|
|
|
|
class DynamicTextPage;
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Class : DynamicTextGlyph
|
|
// Description : A specialization on TextGlyph that is generated and
|
|
// stored by a DynamicTextFont. This keeps some
|
|
// additional information, such as where the glyph
|
|
// appears on a texture map.
|
|
////////////////////////////////////////////////////////////////////
|
|
class EXPCL_PANDA DynamicTextGlyph : public TextGlyph {
|
|
public:
|
|
INLINE DynamicTextGlyph(DynamicTextPage *page, int x, int y,
|
|
int x_size, int y_size, int margin);
|
|
INLINE DynamicTextGlyph(float advance);
|
|
private:
|
|
INLINE DynamicTextGlyph(const DynamicTextGlyph ©);
|
|
INLINE void operator = (const DynamicTextGlyph ©);
|
|
|
|
public:
|
|
virtual ~DynamicTextGlyph();
|
|
|
|
INLINE bool intersects(int x, int y, int x_size, int y_size) const;
|
|
unsigned char *get_row(int y);
|
|
void erase();
|
|
void make_geom(int top, int left, float advance, float poly_margin,
|
|
float tex_x_size, float tex_y_size,
|
|
float font_pixels_per_unit, float tex_pixels_per_unit);
|
|
|
|
DynamicTextPage *_page;
|
|
int _geom_count;
|
|
|
|
int _x, _y;
|
|
int _x_size, _y_size;
|
|
int _margin;
|
|
};
|
|
|
|
#include "dynamicTextGlyph.I"
|
|
|
|
#endif // HAVE_FREETYPE
|
|
|
|
#endif
|