26 #include <caf/attributeset.h> |
26 #include <caf/attributeset.h> |
27 #include <DRMHelper.h> |
27 #include <DRMHelper.h> |
28 |
28 |
29 #include "glximagereader.h" |
29 #include "glximagereader.h" |
30 |
30 |
|
31 const TInt KDefaultFrameCount = 1; |
31 |
32 |
32 // --------------------------------------------------------- |
33 // --------------------------------------------------------- |
33 // CGlxImageReader::NewL |
34 // CGlxImageReader::NewL |
34 // --------------------------------------------------------- |
35 // --------------------------------------------------------- |
35 // |
36 // |
36 CGlxImageReader* CGlxImageReader::NewL(MImageReadyCallBack& aNotify) |
37 CGlxImageReader* CGlxImageReader::NewL() |
37 { |
38 { |
38 TRACER("CGlxImageReader::NewL"); |
39 TRACER("CGlxImageReader::NewL"); |
39 |
40 |
40 CGlxImageReader* self = CGlxImageReader::NewLC( aNotify); |
41 CGlxImageReader* self = CGlxImageReader::NewLC(); |
41 CleanupStack::Pop(self); |
42 CleanupStack::Pop(self); |
42 return self; |
43 return self; |
43 } |
44 } |
44 |
45 |
45 // --------------------------------------------------------- |
46 // --------------------------------------------------------- |
46 // CGlxImageReader::NewLC |
47 // CGlxImageReader::NewLC |
47 // --------------------------------------------------------- |
48 // --------------------------------------------------------- |
48 // |
49 // |
49 CGlxImageReader* CGlxImageReader::NewLC(MImageReadyCallBack& aNotify) |
50 CGlxImageReader* CGlxImageReader::NewLC() |
50 { |
51 { |
51 TRACER("CGlxImageReader::NewLC"); |
52 TRACER("CGlxImageReader::NewLC"); |
52 |
53 |
53 CGlxImageReader* self = new(ELeave) CGlxImageReader(aNotify); |
54 CGlxImageReader* self = new(ELeave) CGlxImageReader(); |
54 CleanupStack::PushL(self); |
55 CleanupStack::PushL(self); |
55 self->ConstructL(); |
56 self->ConstructL(); |
56 return self; |
57 return self; |
57 } |
58 } |
58 |
59 |
59 // --------------------------------------------------------- |
60 // --------------------------------------------------------- |
60 // CGlxImageReader::CGlxImageReader |
61 // CGlxImageReader::CGlxImageReader |
61 // --------------------------------------------------------- |
62 // --------------------------------------------------------- |
62 // |
63 // |
63 CGlxImageReader::CGlxImageReader(MImageReadyCallBack& aNotify) |
64 CGlxImageReader::CGlxImageReader() |
64 :CActive(0),iNotify(aNotify) |
|
65 { |
65 { |
66 //no implementation |
66 //no implementation |
67 } |
67 } |
68 |
68 |
69 // --------------------------------------------------------- |
69 // --------------------------------------------------------- |
123 } |
115 } |
124 if (errInImage != KErrNone) |
116 if (errInImage != KErrNone) |
125 { |
117 { |
126 User::Leave(errInImage); |
118 User::Leave(errInImage); |
127 } |
119 } |
128 |
|
129 if ( iImageDecoder ) |
|
130 { |
|
131 iFrame = new (ELeave) CFbsBitmap(); |
|
132 iFrame->Create(iImageDecoder->FrameInfo(0).iOverallSizeInPixels, |
|
133 iImageDecoder->FrameInfo(0).iFrameDisplayMode); |
|
134 iImageDecoder->Convert(&iStatus, *iFrame, 0); |
|
135 SetActive(); |
|
136 } |
|
137 } |
120 } |
138 |
121 |
139 |
|
140 // --------------------------------------------------------- |
|
141 // CGlxImageReader::DoCancel |
|
142 // --------------------------------------------------------- |
|
143 // |
|
144 void CGlxImageReader::DoCancel() |
|
145 { |
|
146 TRACER("CGlxImageReader::DoCancel"); |
|
147 iImageDecoder->Cancel(); |
|
148 } |
|
149 |
|
150 // --------------------------------------------------------- |
|
151 // CGlxImageReader::RunL |
|
152 // --------------------------------------------------------- |
|
153 // |
|
154 void CGlxImageReader::RunL() |
|
155 { |
|
156 TRACER("CGlxImageReader::RunL"); |
|
157 |
|
158 TSize size = TSize(); |
|
159 TInt reqStatus = iStatus.Int(); |
|
160 if (reqStatus == KErrNone && iFrame) |
|
161 { |
|
162 size = iFrame->SizeInPixels(); |
|
163 } |
|
164 GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus); |
|
165 iNotify.ImageSizeReady(reqStatus, size); |
|
166 } |
|
167 // --------------------------------------------------------- |
122 // --------------------------------------------------------- |
168 // CGlxImageReader::GetDRMRightsL |
123 // CGlxImageReader::GetDRMRightsL |
169 // --------------------------------------------------------- |
124 // --------------------------------------------------------- |
170 // |
125 // |
171 TInt CGlxImageReader::GetDRMRightsL(TInt aAttribute) |
126 TInt CGlxImageReader::GetDRMRightsL(TInt aAttribute) |
207 value = EFalse; |
162 value = EFalse; |
208 } |
163 } |
209 } |
164 } |
210 return value; |
165 return value; |
211 } |
166 } |
|
167 |
|
168 // --------------------------------------------------------- |
|
169 // CGlxImageReader::GetFrameCount |
|
170 // --------------------------------------------------------- |
|
171 // |
|
172 TInt CGlxImageReader::GetFrameCount() |
|
173 { |
|
174 TRACER("CGlxImageReader::GetFrameCount"); |
|
175 TInt frameCount = KDefaultFrameCount; |
|
176 if (iImageDecoder) |
|
177 { |
|
178 frameCount = iImageDecoder->FrameCount(); |
|
179 } |
|
180 GLX_DEBUG2("CGlxImageReader::GetFrameCount frameCount=%d", frameCount); |
|
181 return frameCount; |
|
182 } |
|
183 |
|
184 // --------------------------------------------------------- |
|
185 // CGlxImageReader::GetDimensions |
|
186 // --------------------------------------------------------- |
|
187 // |
|
188 TSize CGlxImageReader::GetDimensions() |
|
189 { |
|
190 TRACER("CGlxImageReader::GetDimensions"); |
|
191 TSize size = TSize(); |
|
192 if (iImageDecoder) |
|
193 { |
|
194 size = iImageDecoder->FrameInfo().iOverallSizeInPixels; |
|
195 } |
|
196 GLX_DEBUG3("CGlxImageReader::GetImageSize() size w(%d) h(%d)", |
|
197 size.iWidth, size.iHeight); |
|
198 return size; |
|
199 } |