m_maskRed = 0;
m_maskGreen = 0;
m_maskBlue = 0;
- m_hasMask = FALSE;
+ m_hasMask = false;
- m_ok = FALSE;
- m_static = FALSE;
+ m_ok = false;
+ m_static = false;
}
wxImageRefData::~wxImageRefData()
if (image) Ref(*image);
}
-void wxImage::Create( int width, int height, bool clear )
+bool wxImage::Create( int width, int height, bool clear )
{
UnRef();
m_refData = new wxImageRefData();
M_IMGDATA->m_data = (unsigned char *) malloc( width*height*3 );
- if (M_IMGDATA->m_data)
- {
- if (clear) memset(M_IMGDATA->m_data, 0, width*height*3);
-
- M_IMGDATA->m_width = width;
- M_IMGDATA->m_height = height;
- M_IMGDATA->m_ok = TRUE;
- }
- else
+ if (!M_IMGDATA->m_data)
{
UnRef();
+ return false;
}
+
+ if (clear)
+ memset(M_IMGDATA->m_data, 0, width*height*3);
+
+ M_IMGDATA->m_width = width;
+ M_IMGDATA->m_height = height;
+ M_IMGDATA->m_ok = true;
+
+ return true;
}
-void wxImage::Create( int width, int height, unsigned char* data, bool static_data )
+bool wxImage::Create( int width, int height, unsigned char* data, bool static_data )
{
UnRef();
+ wxCHECK_MSG( data, false, _T("NULL data in wxImage::Create") );
+
m_refData = new wxImageRefData();
M_IMGDATA->m_data = data;
- if (M_IMGDATA->m_data)
- {
- M_IMGDATA->m_width = width;
- M_IMGDATA->m_height = height;
- M_IMGDATA->m_ok = TRUE;
- M_IMGDATA->m_static = static_data;
- }
- else
- {
- UnRef();
- }
+ M_IMGDATA->m_width = width;
+ M_IMGDATA->m_height = height;
+ M_IMGDATA->m_ok = true;
+ M_IMGDATA->m_static = static_data;
+
+ return true;
}
void wxImage::Destroy()
newRefData->m_width = M_IMGDATA->m_width;
newRefData->m_height = M_IMGDATA->m_height;
newRefData->m_data = data;
- newRefData->m_ok = TRUE;
+ newRefData->m_ok = true;
newRefData->m_maskRed = M_IMGDATA->m_maskRed;
newRefData->m_maskGreen = M_IMGDATA->m_maskGreen;
newRefData->m_maskBlue = M_IMGDATA->m_maskBlue;
newRefData->m_width = new_width;
newRefData->m_height = new_height;
newRefData->m_data = data;
- newRefData->m_ok = TRUE;
+ newRefData->m_ok = true;
newRefData->m_maskRed = M_IMGDATA->m_maskRed;
newRefData->m_maskGreen = M_IMGDATA->m_maskGreen;
newRefData->m_maskBlue = M_IMGDATA->m_maskBlue;
newRefData->m_width = new_width;
newRefData->m_height = new_height;
newRefData->m_data = data;
- newRefData->m_ok = TRUE;
+ newRefData->m_ok = true;
}
UnRef();
M_IMGDATA->m_maskRed = r;
M_IMGDATA->m_maskGreen = g;
M_IMGDATA->m_maskBlue = b;
- M_IMGDATA->m_hasMask = TRUE;
+ M_IMGDATA->m_hasMask = true;
}
unsigned char wxImage::GetMaskRed() const
bool wxImage::HasMask() const
{
- wxCHECK_MSG( Ok(), FALSE, wxT("invalid image") );
+ wxCHECK_MSG( Ok(), false, wxT("invalid image") );
return M_IMGDATA->m_hasMask;
}
if ( (M_IMGDATA->m_height != mask.GetHeight() ) || (M_IMGDATA->m_width != mask.GetWidth () ) )
{
wxLogError( _("Image and Mask have different sizes") );
- return FALSE;
+ return false;
}
// find unused colour
if (!FindFirstUnusedColour(&r, &g, &b))
{
wxLogError( _("No Unused Color in image being masked") );
- return FALSE ;
+ return false ;
}
unsigned char *imgdata = GetData();
}
SetMaskColour(r, g, b);
- SetMask(TRUE);
+ SetMask(true);
- return TRUE;
+ return true;
}
#if wxUSE_PALETTE
bool wxImage::HasPalette() const
{
if (!Ok())
- return FALSE;
+ return false;
return M_IMGDATA->m_palette.Ok();
}
{
wxCHECK_RET( Ok(), wxT("invalid image") );
- int idx = M_IMGDATA->m_optionNames.Index(name, FALSE);
+ int idx = M_IMGDATA->m_optionNames.Index(name, false);
if (idx == wxNOT_FOUND)
{
M_IMGDATA->m_optionNames.Add(name);
{
wxCHECK_MSG( Ok(), wxEmptyString, wxT("invalid image") );
- int idx = M_IMGDATA->m_optionNames.Index(name, FALSE);
+ int idx = M_IMGDATA->m_optionNames.Index(name, false);
if (idx == wxNOT_FOUND)
return wxEmptyString;
else
bool wxImage::HasOption(const wxString& name) const
{
- wxCHECK_MSG( Ok(), FALSE, wxT("invalid image") );
+ wxCHECK_MSG( Ok(), false, wxT("invalid image") );
- return (M_IMGDATA->m_optionNames.Index(name, FALSE) != wxNOT_FOUND);
+ return (M_IMGDATA->m_optionNames.Index(name, false) != wxNOT_FOUND);
}
bool wxImage::LoadFile( const wxString& filename, long type, int index )
{
wxLogError( _("Can't load image from file '%s': file does not exist."), filename.c_str() );
- return FALSE;
+ return false;
}
#else // !wxUSE_STREAMS
- return FALSE;
+ return false;
#endif // wxUSE_STREAMS
}
{
wxLogError( _("Can't load image from file '%s': file does not exist."), filename.c_str() );
- return FALSE;
+ return false;
}
#else // !wxUSE_STREAMS
- return FALSE;
+ return false;
#endif // wxUSE_STREAMS
}
if (pHandler)
{
SaveFile(filename, pHandler->GetType());
- return TRUE;
+ return true;
}
wxLogError(_("Can't save image to file '%s': unknown extension."), filename.c_str());
- return FALSE;
+ return false;
}
bool wxImage::SaveFile( const wxString& filename, int type ) const
}
#endif // wxUSE_STREAMS
- return FALSE;
+ return false;
}
bool wxImage::SaveFile( const wxString& filename, const wxString& mimetype ) const
}
#endif // wxUSE_STREAMS
- return FALSE;
+ return false;
}
bool wxImage::CanRead( const wxString &name )
wxFileInputStream stream(name);
return CanRead(stream);
#else
- return FALSE;
+ return false;
#endif
}
{
wxImageHandler *handler=(wxImageHandler*)node->GetData();
if (handler->CanRead( stream ))
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
int wxImage::GetImageCount( wxInputStream &stream, long type )
if ( !handler )
{
wxLogWarning(_("No image handler for type %d defined."), type);
- return FALSE;
+ return false;
}
if ( handler->CanRead(stream) )
{
handler=(wxImageHandler*)node->GetData();
if ( handler->CanRead(stream) )
- return handler->LoadFile(this, stream, TRUE/*verbose*/, index);
+ return handler->LoadFile(this, stream, true/*verbose*/, index);
}
wxLogWarning( _("No handler found for image type.") );
- return FALSE;
+ return false;
}
handler = FindHandler(type);
{
wxLogWarning( _("No image handler for type %d defined."), type );
- return FALSE;
+ return false;
}
- return handler->LoadFile(this, stream, TRUE/*verbose*/, index);
+ return handler->LoadFile(this, stream, true/*verbose*/, index);
}
bool wxImage::LoadFile( wxInputStream& stream, const wxString& mimetype, int index )
{
wxLogWarning( _("No image handler for type %s defined."), mimetype.GetData() );
- return FALSE;
+ return false;
}
- return handler->LoadFile( this, stream, TRUE/*verbose*/, index );
+ return handler->LoadFile( this, stream, true/*verbose*/, index );
}
bool wxImage::SaveFile( wxOutputStream& stream, int type ) const
{
- wxCHECK_MSG( Ok(), FALSE, wxT("invalid image") );
+ wxCHECK_MSG( Ok(), false, wxT("invalid image") );
wxImageHandler *handler = FindHandler(type);
{
wxLogWarning( _("No image handler for type %d defined."), type );
- return FALSE;
+ return false;
}
return handler->SaveFile( (wxImage*)this, stream );
bool wxImage::SaveFile( wxOutputStream& stream, const wxString& mimetype ) const
{
- wxCHECK_MSG( Ok(), FALSE, wxT("invalid image") );
+ wxCHECK_MSG( Ok(), false, wxT("invalid image") );
wxImageHandler *handler = FindHandlerMime(mimetype);
{
wxLogWarning( _("No image handler for type %s defined."), mimetype.GetData() );
- return FALSE;
+ return false;
}
return handler->SaveFile( (wxImage*)this, stream );
void wxImage::AddHandler( wxImageHandler *handler )
{
// make sure that the memory will be freed at the program end
- sm_handlers.DeleteContents(TRUE);
+ sm_handlers.DeleteContents(true);
// Check for an existing handler of the type being added.
if (FindHandler( handler->GetType() ) == 0)
void wxImage::InsertHandler( wxImageHandler *handler )
{
// make sure that the memory will be freed at the program end
- sm_handlers.DeleteContents(TRUE);
+ sm_handlers.DeleteContents(true);
// Check for an existing handler of the type being added.
if (FindHandler( handler->GetType() ) == 0)
if (handler)
{
sm_handlers.DeleteObject(handler);
- return TRUE;
+ return true;
}
else
- return FALSE;
+ return false;
}
wxImageHandler *wxImage::FindHandler( const wxString& name )
while (node)
{
wxImageHandler *handler = (wxImageHandler *)node->GetData();
- if (handler->GetMimeType().IsSameAs(mimetype, FALSE)) return handler;
+ if (handler->GetMimeType().IsSameAs(mimetype, false)) return handler;
node = node->GetNext();
}
return 0;
}
+wxString wxImage::GetImageExtWildcard()
+{
+ wxString fmts;
+
+ wxList& Handlers = wxImage::GetHandlers();
+ wxNode* Node = Handlers.GetFirst();
+ while ( Node )
+ {
+ wxImageHandler* Handler = (wxImageHandler*)Node->GetData();
+ fmts += wxT("*.") + Handler->GetExtension();
+ Node = Node->GetNext();
+ if ( Node ) fmts += wxT(";");
+ }
+
+ return wxT("(") + fmts + wxT(")|") + fmts;
+}
+
+
//-----------------------------------------------------------------------------
// wxImageHandler
//-----------------------------------------------------------------------------
#if wxUSE_STREAMS
bool wxImageHandler::LoadFile( wxImage *WXUNUSED(image), wxInputStream& WXUNUSED(stream), bool WXUNUSED(verbose), int WXUNUSED(index) )
{
- return FALSE;
+ return false;
}
bool wxImageHandler::SaveFile( wxImage *WXUNUSED(image), wxOutputStream& WXUNUSED(stream), bool WXUNUSED(verbose) )
{
- return FALSE;
+ return false;
}
int wxImageHandler::GetImageCount( wxInputStream& WXUNUSED(stream) )
wxLogError( _("Can't check image format of file '%s': file does not exist."), name.c_str() );
- return FALSE;
+ return false;
}
bool wxImageHandler::CallDoCanRead(wxInputStream& stream)
if ( posOld == wxInvalidOffset )
{
// can't test unseekable stream
- return FALSE;
+ return false;
}
bool ok = DoCanRead(stream);
wxLogDebug(_T("Failed to rewind the stream in wxImageHandler!"));
// reading would fail anyhow as we're not at the right position
- return FALSE;
+ return false;
}
return ok;
if ( b2 >= 255 )
{
wxLogError(_("GetUnusedColour:: No Unused Color in image ") );
- return FALSE;
+ return false;
}
}
}
if ( b )
*b = b2;
- return TRUE;
+ return true;
}
bool
DECLARE_DYNAMIC_CLASS(wxImageModule)
public:
wxImageModule() {}
- bool OnInit() { wxImage::InitStandardHandlers(); return TRUE; };
+ bool OnInit() { wxImage::InitStandardHandlers(); return true; };
void OnExit() { wxImage::CleanUpHandlers(); };
};