22 theHorizontalScale(0.0),
23 theVerticalScale(0.0),
24 theHorizontalShear(0.0),
43 thePixelSize(pixelSize),
44 theRotation(rotation),
45 theHorizontalScale(scale.
x),
46 theVerticalScale(scale.
y),
47 theHorizontalShear(shear.
x),
48 theVerticalShear(shear.
y)
65 thePosition(rhs.thePosition),
66 theString(rhs.theString),
67 thePixelSize(rhs.thePixelSize),
68 theRotation(rhs.theRotation),
69 theHorizontalScale(rhs.theHorizontalScale),
70 theVerticalScale(rhs.theVerticalScale),
71 theHorizontalShear(rhs.theHorizontalShear),
72 theVerticalShear(rhs.theVerticalShear),
73 theBoundingRect(rhs.theBoundingRect)
103 if(destination.
valid())
132 long clipHeight = clipRect.
height();
133 long clipWidth = clipRect.
width();
135 long destinationOffset = (long)(((clipRect.
ul().
y - destRect.ul().y)* destRect.width()) +
136 (clipRect.
ul().
x - destRect.ul().x));
137 long fontBufferOffset = (long)(((clipRect.
ul().
y - fontBufferRect.
ul().
y)*fontBufferRect.
width()) +
138 (clipRect.
ul().
x - fontBufferRect.
ul().
x));
141 long destinationIndex = destinationOffset;
142 long srcIndex = fontBufferOffset;
147 num_bands = num_bands > 3? 3:num_bands;
149 unsigned char colorArray[3];
155 for(band = 0; band < num_bands;++band)
165 for(
long line = 0; line < clipHeight; ++line)
167 for(
long col = 0; col < clipWidth; ++col)
169 if(srcBuf[srcIndex + col])
171 for (band=0; band<num_bands; ++band)
173 *(destBuf[band] + destinationIndex + col) = colorArray[band];
178 destinationIndex += d_width;
virtual void getBufferRect(ossimIrect &bufRect)
virtual ossim_uint32 getNumberOfBands() const
virtual bool intersects(const ossimDrect &rect) const
virtual bool isPointWithin(const ossimDpt &imagePoint) const
virtual ossimObject * dup() const
virtual void setFont(ossimFont *font)
ossim_uint32 height() const
ossimRefPtr< ossimFont > theFont
virtual ossimString getString() const
const ossimIpt & ul() const
virtual void setPointSize(const ossimIpt &size)
virtual ~ossimAnnotationFontObject()
bool intersects(const ossimIrect &rect) const
virtual void applyScale(double x, double y)
virtual void setUpperLeftPosition(const ossimIpt &position)
virtual std::ostream & print(std::ostream &out) const
Generic print method.
ossimAnnotationFontObject()
virtual const ossim_uint8 * rasterize()=0
virtual void draw(ossimRgbImage &anImage) const
virtual ossimDrect getBoundingRect() const
ossimRefPtr< ossimImageData > getImageData()
Will return the image data.
virtual void setScale(const ossimDpt &scale)
virtual ossimString getFamilyName() const
ossimIpt midPoint() const
virtual void setString(const ossimString &s)
RTTI_DEF1(ossimAnnotationFontObject, "ossimAnnotationFontObject", ossimAnnotationObject)
virtual void getBoundingBox(ossimIrect &box)=0
virtual void setRotation(double rotation)
virtual ossimIrect getImageRectangle() const
virtual void computeBoundingRect()
ossimFont * getDefaultFont() const
Class to draw fonts onto an image.
virtual void setGeometryInformation(const ossimFontInformation &info)
ossim_uint32 width() const
ossimIrect clipToRect(const ossimIrect &rect) const
bool intersects(const ossimDrect &rect) const
virtual ossimString getStyleName() const
virtual void setHorizontalVerticalShear(double horizontalShear, double verticalShear)
virtual void setString(const ossimString &s)
static ossimFontFactoryRegistry * instance()
virtual void setClippingBox(const ossimIrect &clipBox=ossimIrect(0, 0, 0, 0))
virtual void setScale(double horizontal, double vertical)
virtual const void * getBuf() const
virtual void setPixelSize(int horizontalPixelSize, int verticalPixelSize)
virtual ossimAnnotationObject * getNewClippedObject(const ossimDrect &rect) const
ossimIrect theBoundingRect
double theHorizontalShear
double theHorizontalScale
virtual void setRotation(double rotationInDegrees)
unsigned char ossim_uint8
virtual void setShear(const ossimDpt &shear)
std::basic_ostream< char > ostream
Base class for char output streams.
virtual void setCenterPosition(const ossimIpt &position)
bool pointWithin(const ossimIpt &pt) const