Diffstat (limited to 'noncore/graphics/opie-eye/slave/bmp_slave.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/slave/bmp_slave.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/noncore/graphics/opie-eye/slave/bmp_slave.cpp b/noncore/graphics/opie-eye/slave/bmp_slave.cpp index 2fa825f..0efadac 100644 --- a/noncore/graphics/opie-eye/slave/bmp_slave.cpp +++ b/noncore/graphics/opie-eye/slave/bmp_slave.cpp | |||
@@ -37,100 +37,98 @@ namespace { | |||
37 | QFile _inputfile; | 37 | QFile _inputfile; |
38 | pBmpHeader m_Header; | 38 | pBmpHeader m_Header; |
39 | 39 | ||
40 | static const int OLD = 12; | 40 | static const int OLD = 12; |
41 | static const int WIN = 40; | 41 | static const int WIN = 40; |
42 | static const int OS2 = 64; | 42 | static const int OS2 = 64; |
43 | static const int RGB = 0; | 43 | static const int RGB = 0; |
44 | static const int RLE8 = 1; | 44 | static const int RLE8 = 1; |
45 | static const int RLE4 = 2; | 45 | static const int RLE4 = 2; |
46 | 46 | ||
47 | public: | 47 | public: |
48 | BmpHeader(const QString&fname); | 48 | BmpHeader(const QString&fname); |
49 | virtual ~BmpHeader(); | 49 | virtual ~BmpHeader(); |
50 | bool isBmp()const{return qstrncmp(m_Header.type,"BM",2)==0;} | 50 | bool isBmp()const{return qstrncmp(m_Header.type,"BM",2)==0;} |
51 | bool isCompressed()const{return m_Header.Compression != 0;} | 51 | bool isCompressed()const{return m_Header.Compression != 0;} |
52 | QSize imageSize(){return QSize(m_Header.Width,m_Header.Height);} | 52 | QSize imageSize(){return QSize(m_Header.Width,m_Header.Height);} |
53 | QString imageCompression()const; | 53 | QString imageCompression()const; |
54 | int bitsPixel()const{return m_Header.BitCount;} | 54 | int bitsPixel()const{return m_Header.BitCount;} |
55 | int Size()const{return m_Header.hSize;} | 55 | int Size()const{return m_Header.hSize;} |
56 | int compressedSize()const{return m_Header.SizeImage;} | 56 | int compressedSize()const{return m_Header.SizeImage;} |
57 | int ColorsUsed()const{return m_Header.ClrUsed;} | 57 | int ColorsUsed()const{return m_Header.ClrUsed;} |
58 | int XPix()const{return m_Header.XPerMeter;} | 58 | int XPix()const{return m_Header.XPerMeter;} |
59 | int YPix()const{return m_Header.YPerMeter;} | 59 | int YPix()const{return m_Header.YPerMeter;} |
60 | }; | 60 | }; |
61 | 61 | ||
62 | QString BmpHeader::imageCompression()const | 62 | QString BmpHeader::imageCompression()const |
63 | { | 63 | { |
64 | switch (m_Header.Compression) { | 64 | switch (m_Header.Compression) { |
65 | case RLE8: | 65 | case RLE8: |
66 | return "8Bit RLE Encoding"; | 66 | return "8Bit RLE Encoding"; |
67 | break; | 67 | break; |
68 | case RLE4: | 68 | case RLE4: |
69 | return "4Bit RLE Encoding"; | 69 | return "4Bit RLE Encoding"; |
70 | break; | 70 | break; |
71 | case RGB: | 71 | case RGB: |
72 | default: | 72 | default: |
73 | return "No encoding"; | 73 | return "No encoding"; |
74 | } | 74 | } |
75 | } | 75 | } |
76 | 76 | ||
77 | BmpHeader::BmpHeader(const QString&fname) | 77 | BmpHeader::BmpHeader(const QString&fname) |
78 | : _name(fname),_inputfile(_name) | 78 | : _name(fname),_inputfile(_name) |
79 | { | 79 | { |
80 | read_data(); | 80 | read_data(); |
81 | } | 81 | } |
82 | 82 | ||
83 | void BmpHeader::read_data() { | 83 | void BmpHeader::read_data() { |
84 | memset(&m_Header,0,sizeof(pBmpHeader)); | 84 | memset(&m_Header,0,sizeof(pBmpHeader)); |
85 | _inputfile.open(IO_Raw|IO_ReadOnly); | 85 | if (!_inputfile.open(IO_Raw|IO_ReadOnly)) |
86 | if (!_inputfile.isOpen()) { | ||
87 | return; | 86 | return; |
88 | } | ||
89 | QDataStream s(&_inputfile); | 87 | QDataStream s(&_inputfile); |
90 | s.setByteOrder( QDataStream::LittleEndian ); | 88 | s.setByteOrder( QDataStream::LittleEndian ); |
91 | s.readRawBytes(m_Header.type,2); | 89 | s.readRawBytes(m_Header.type,2); |
92 | if (!isBmp()) { | 90 | if (!isBmp()) { |
93 | _inputfile.close(); | 91 | _inputfile.close(); |
94 | return; | 92 | return; |
95 | } | 93 | } |
96 | s >> m_Header.hSize; | 94 | s >> m_Header.hSize; |
97 | s >> m_Header.reserved1 >> m_Header.reserved2; | 95 | s >> m_Header.reserved1 >> m_Header.reserved2; |
98 | s >> m_Header.Size; | 96 | s >> m_Header.Size; |
99 | if ( m_Header.Size == BmpHeader::WIN || m_Header.Size == BmpHeader::OS2 ) { | 97 | if ( m_Header.Size == BmpHeader::WIN || m_Header.Size == BmpHeader::OS2 ) { |
100 | s >> m_Header.Width >> m_Header.Height >> m_Header.Planes >> m_Header.BitCount; | 98 | s >> m_Header.Width >> m_Header.Height >> m_Header.Planes >> m_Header.BitCount; |
101 | s >> m_Header.Compression >> m_Header.SizeImage; | 99 | s >> m_Header.Compression >> m_Header.SizeImage; |
102 | s >> m_Header.XPerMeter >> m_Header.YPerMeter; | 100 | s >> m_Header.XPerMeter >> m_Header.YPerMeter; |
103 | s >> m_Header.ClrUsed >> m_Header.ClrImportant; | 101 | s >> m_Header.ClrUsed >> m_Header.ClrImportant; |
104 | } else { | 102 | } else { |
105 | Q_INT16 w, h; | 103 | Q_INT16 w, h; |
106 | s >> w >> h >> m_Header.Planes >> m_Header.BitCount; | 104 | s >> w >> h >> m_Header.Planes >> m_Header.BitCount; |
107 | m_Header.Width = w; | 105 | m_Header.Width = w; |
108 | m_Header.Height = h; | 106 | m_Header.Height = h; |
109 | m_Header.Compression = BmpHeader::RGB; | 107 | m_Header.Compression = BmpHeader::RGB; |
110 | m_Header.SizeImage = 0; | 108 | m_Header.SizeImage = 0; |
111 | m_Header.XPerMeter = m_Header.YPerMeter = 0; | 109 | m_Header.XPerMeter = m_Header.YPerMeter = 0; |
112 | m_Header.ClrUsed = m_Header.ClrImportant = 0; | 110 | m_Header.ClrUsed = m_Header.ClrImportant = 0; |
113 | } | 111 | } |
114 | _inputfile.close(); | 112 | _inputfile.close(); |
115 | } | 113 | } |
116 | 114 | ||
117 | BmpHeader::~BmpHeader() { | 115 | BmpHeader::~BmpHeader() { |
118 | } | 116 | } |
119 | } | 117 | } |
120 | 118 | ||
121 | 119 | ||
122 | BmpSlave::BmpSlave() | 120 | BmpSlave::BmpSlave() |
123 | : SlaveInterface(QStringList("bmp")) | 121 | : SlaveInterface(QStringList("bmp")) |
124 | {} | 122 | {} |
125 | 123 | ||
126 | BmpSlave::~BmpSlave() { | 124 | BmpSlave::~BmpSlave() { |
127 | 125 | ||
128 | } | 126 | } |
129 | 127 | ||
130 | QString BmpSlave::iconViewName(const QString& str) { | 128 | QString BmpSlave::iconViewName(const QString& str) { |
131 | QString st; | 129 | QString st; |
132 | BmpHeader bh(str); | 130 | BmpHeader bh(str); |
133 | if (!bh.isBmp()) { | 131 | if (!bh.isBmp()) { |
134 | st.append("No bmp file"); | 132 | st.append("No bmp file"); |
135 | return st; | 133 | return st; |
136 | } | 134 | } |