- if (c=='3') // Ascii RBG
- {
- wxUint32 value, size=3*width*height;
- for (wxUint32 i=0; i<size; ++i)
- {
- //this is very slow !!!
- //I wonder how we can make any better ?
- value=text_stream.Read32();
- *ptr++=(unsigned char)value;
-
- if (buf_stream.LastError()!=wxSTREAM_NOERROR)
- {
- wxLogError(_T("Loading PNM image : file seems truncated."));
- return FALSE;
- }
- }
- }
+
+ if (c=='2') // Ascii GREY
+ {
+ wxUint32 value, size=width*height;
+ for (wxUint32 i=0; i<size; ++i)
+ {
+ value=text_stream.Read32();
+ *ptr++=(unsigned char)value; // R
+ *ptr++=(unsigned char)value; // G
+ *ptr++=(unsigned char)value; // B
+ if ( !buf_stream )
+ {
+ if (verbose) wxLogError(_("PNM: File seems truncated."));
+ return false;
+ }
+ }
+ }
+ if (c=='3') // Ascii RBG
+ {
+ wxUint32 value, size=3*width*height;
+ for (wxUint32 i=0; i<size; ++i)
+ {
+ //this is very slow !!!
+ //I wonder how we can make any better ?
+ value=text_stream.Read32();
+ *ptr++=(unsigned char)value;
+
+ if ( !buf_stream )
+ {
+ if (verbose) wxLogError(_("PNM: File seems truncated."));
+ return false;
+ }
+ }
+ }
+ if (c=='5') // Raw GREY
+ {
+ wxUint32 size=width*height;
+ unsigned char value;
+ for (wxUint32 i=0; i<size; ++i)
+ {
+ buf_stream.Read(&value,1);
+ *ptr++=value; // R
+ *ptr++=value; // G
+ *ptr++=value; // B
+ if ( !buf_stream )
+ {
+ if (verbose) wxLogError(_("PNM: File seems truncated."));
+ return false;
+ }
+ }
+ }