// Gets the type of image found by LoadFile or specified with SaveFile
wxBitmapType GetType() const;
+ // Set the image type, this is normally only called if the image is being
+ // created from data in the given format but not using LoadFile() (e.g.
+ // wxGIFDecoder uses this)
+ void SetType(wxBitmapType type);
+
// these functions provide fastest access to wxImage data but should be
// used carefully as no checks are done
unsigned char *GetData() const;
unsigned char green,
unsigned char blue);
+ /**
+ Set the type of image returned by GetType().
+
+ This method is mostly used internally by the library but can also be
+ called from the user code if the image was created from data in the
+ given bitmap format without using LoadFile() (which would set the type
+ correctly automatically).
+
+ Notice that the image must be created before this function is called.
+
+ @since 2.9.0
+
+ @param type
+ One of bitmap type constants, @c wxBITMAP_TYPE_INVALID is a valid
+ value for it and can be used to reset the bitmap type to default
+ but @c wxBITMAP_TYPE_MAX is not allowed here.
+ */
+ void SetType(wxBitmapType type);
+
/**
Returns a resized version of this image without scaling it by adding either a
border
if (!sm_handler.DoLoadFile(&image, stream, false /* verbose */, -1))
return false;
+ image.SetType(wxBITMAP_TYPE_ANI);
m_images.Add(image);
}
else
// create the image
wxSize sz = GetFrameSize(frame);
image->Create(sz.GetWidth(), sz.GetHeight());
+ image->SetType(wxBITMAP_TYPE_GIF);
if (!image->Ok())
return false;
return M_IMGDATA->m_type;
}
+void wxImage::SetType(wxBitmapType type)
+{
+ wxCHECK_RET( IsOk(), "must create the image before setting its type");
+
+ // type can be wxBITMAP_TYPE_INVALID to reset the image type to default
+ wxASSERT_MSG( type != wxBITMAP_TYPE_MAX, "invalid bitmap type" );
+
+ M_IMGDATA->m_type = type;
+}
+
long wxImage::XYToIndex(int x, int y) const
{
if ( Ok() &&