/* * @(#)GlyphPositionAdjustments.h 1.8 00/03/15 * * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved * */ #ifndef __GLYPHPOSITIONADJUSTMENTS_H #define __GLYPHPOSITIONADJUSTMENTS_H #include "LETypes.h" #include "OpenTypeTables.h" U_NAMESPACE_BEGIN class GlyphPositionAdjustment : public UMemory { public: GlyphPositionAdjustment(); GlyphPositionAdjustment(float xPlace, float yPlace, float xAdv, float yAdv, le_int32 baseOff = -1); ~GlyphPositionAdjustment(); float getXPlacement(); float getYPlacement(); float getXAdvance(); float getYAdvance(); le_int32 getBaseOffset(); void setXPlacement(float newXPlacement); void setYPlacement(float newYPlacement); void setXAdvance(float newXAdvance); void setYAdvance(float newYAdvance); void setBaseOffset(le_int32 newBaseOffset); void adjustXPlacement(float xAdjustment); void adjustYPlacement(float yAdjustment); void adjustXAdvance(float xAdjustment); void adjustYAdvance(float yAdjustment); private: float xPlacement; float yPlacement; float xAdvance; float yAdvance; le_int32 baseOffset; // allow copying of this class because all of its fields are simple types }; inline GlyphPositionAdjustment::GlyphPositionAdjustment() : xPlacement(0), yPlacement(0), xAdvance(0), yAdvance(0), baseOffset(-1) { // nothing else to do! } inline GlyphPositionAdjustment::GlyphPositionAdjustment(float xPlace, float yPlace, float xAdv, float yAdv, le_int32 baseOff) : xPlacement(xPlace), yPlacement(yPlace), xAdvance(xAdv), yAdvance(yAdv), baseOffset(baseOff) { // nothing else to do! } inline GlyphPositionAdjustment::~GlyphPositionAdjustment() { // nothing to do! } inline float GlyphPositionAdjustment::getXPlacement() { return xPlacement; } inline float GlyphPositionAdjustment::getYPlacement() { return yPlacement; } inline float GlyphPositionAdjustment::getXAdvance() { return xAdvance; } inline float GlyphPositionAdjustment::getYAdvance() { return yAdvance; } inline le_int32 GlyphPositionAdjustment::getBaseOffset() { return baseOffset; } inline void GlyphPositionAdjustment::setXPlacement(float newXPlacement) { xPlacement = newXPlacement; } inline void GlyphPositionAdjustment::setYPlacement(float newYPlacement) { yPlacement = newYPlacement; } inline void GlyphPositionAdjustment::setXAdvance(float newXAdvance) { xAdvance = newXAdvance; } inline void GlyphPositionAdjustment::setYAdvance(float newYAdvance) { yAdvance = newYAdvance; } inline void GlyphPositionAdjustment::setBaseOffset(le_int32 newBaseOffset) { baseOffset = newBaseOffset; } inline void GlyphPositionAdjustment::adjustXPlacement(float xAdjustment) { xPlacement += xAdjustment; } inline void GlyphPositionAdjustment::adjustYPlacement(float yAdjustment) { yPlacement += yAdjustment; } inline void GlyphPositionAdjustment::adjustXAdvance(float xAdjustment) { xAdvance += xAdjustment; } inline void GlyphPositionAdjustment::adjustYAdvance(float yAdjustment) { yAdvance += yAdjustment; } U_NAMESPACE_END #endif