jxl.biff.drawing.DrawingGroupObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jxl Show documentation
Show all versions of jxl Show documentation
JExcelApi is a java library which provides the ability to read, write, and modify Microsoft Excel spreadsheets.
The newest version!
/*********************************************************************
*
* Copyright (C) 2002 Andrew Khan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/
package jxl.biff.drawing;
import java.io.IOException;
import jxl.write.biff.File;
/**
* Interface for the various object types that can be added to a drawing
* group
*/
public interface DrawingGroupObject
{
/**
* Sets the object id. Invoked by the drawing group when the object is
* added to id
*
* @param objid the object id
* @param bip the blip id
* @param sid the shape id
*/
void setObjectId(int objid, int bip, int sid);
/**
* Accessor for the object id
*
* @return the object id
*/
int getObjectId();
/**
* Accessor for the blip id
*
* @return the blip id
*/
int getBlipId();
/**
* Accessor for the shape id
*
* @return the shape id
*/
public int getShapeId();
/**
* Gets the drawing record which was read in
*
* @return the drawing record
*/
MsoDrawingRecord getMsoDrawingRecord();
/**
* Creates the main Sp container for the drawing
*
* @return the SP container
*/
public EscherContainer getSpContainer();
/**
* Sets the drawing group for this drawing. Called by the drawing group
* when this drawing is added to it
*
* @param dg the drawing group
*/
void setDrawingGroup(DrawingGroup dg);
/**
* Accessor for the drawing group
*
* @return the drawing group
*/
DrawingGroup getDrawingGroup();
/**
* Gets the origin of this drawing
*
* @return where this drawing came from
*/
Origin getOrigin();
/**
* Accessor for the reference count on this drawing
*
* @return the reference count
*/
int getReferenceCount();
/**
* Sets the new reference count on the drawing
*
* @param r the new reference count
*/
void setReferenceCount(int r);
/**
* Accessor for the column of this drawing
*
* @return the column
*/
public double getX();
/**
* Sets the column position of this drawing
*
* @param x the column
*/
public void setX(double x);
/**
* Accessor for the row of this drawing
*
* @return the row
*/
public double getY();
/**
* Accessor for the row of the drawing
*
* @param y the row
*/
public void setY(double y);
/**
* Accessor for the width of this drawing
*
* @return the number of columns spanned by this image
*/
public double getWidth();
/**
* Accessor for the width
*
* @param w the number of columns to span
*/
public void setWidth(double w);
/**
* Accessor for the height of this drawing
*
* @return the number of rows spanned by this image
*/
public double getHeight();
/**
* Accessor for the height of this drawing
*
* @param h the number of rows spanned by this image
*/
public void setHeight(double h);
/**
* Accessor for the type
*
* @return the type
*/
ShapeType getType();
/**
* Accessor for the image data
*
* @return the image data
*/
public byte[] getImageData();
/**
* Accessor for the image data
*
* @return the image data
*/
public byte[] getImageBytes() throws IOException;
/**
* Accessor for the image file path. Normally this is the absolute path
* of a file on the directory system, but if this drawing was constructed
* using an byte[] then the blip id is returned
*
* @return the image file path, or the blip id
*/
String getImageFilePath();
/**
* Writes any other records associated with this drawing group object
*/
public void writeAdditionalRecords(File outputFile) throws IOException;
/**
* Writes any records that need to be written after all the drawing group
* objects have been written
*/
public void writeTailRecords(File outputFile) throws IOException;
/**
* Accessor for the first drawing on the sheet. This is used when
* copying unmodified sheets to indicate that this drawing contains
* the first time Escher gubbins
*
* @return TRUE if this MSORecord is the first drawing on the sheet
*/
public boolean isFirst();
/**
* Queries whether this object is a form object. Form objects have their
* drawings records spread over TXO and CONTINUE records and
* require special handling
*
* @return TRUE if this is a form object, FALSE otherwise
*/
public boolean isFormObject();
}