1 /* |
1 /* |
2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
60 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addClose - begin"); |
60 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addClose - begin"); |
61 TInt err = KM2GNotOk; |
61 TInt err = KM2GNotOk; |
62 |
62 |
63 M2G_DO_LOCK |
63 M2G_DO_LOCK |
64 if (aSvgProxyHandle) |
64 if (aSvgProxyHandle) |
65 { |
65 { |
66 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
66 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
67 TRAP(err, aProxy->AddCloseL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle)); ); |
67 TRAP(err, aProxy->AddCloseL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle));); |
68 } |
68 } |
69 M2G_DO_UNLOCK(aJni) |
69 M2G_DO_UNLOCK(aJni) |
70 |
70 |
71 M2GGeneral::CheckErrorCode(aJni, err); |
71 M2GGeneral::CheckErrorCode(aJni, err); |
72 |
72 |
73 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addClose - end"); |
73 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addClose - end"); |
87 Java_com_nokia_microedition_m2g_M2GSVGPath__1addCurveTo( |
87 Java_com_nokia_microedition_m2g_M2GSVGPath__1addCurveTo( |
88 JNIEnv* aJni, |
88 JNIEnv* aJni, |
89 jclass, |
89 jclass, |
90 jint aSvgProxyHandle, |
90 jint aSvgProxyHandle, |
91 jint aPathHandle, |
91 jint aPathHandle, |
92 jfloat aX1, jfloat aY1, jfloat aX2, jfloat aY2, jfloat aX3, jfloat aY3 ) |
92 jfloat aX1, jfloat aY1, jfloat aX2, jfloat aY2, jfloat aX3, jfloat aY3) |
93 { |
93 { |
94 M2G_DEBUG_6("M2G_DEBUG: JNI ( M2GSVGPath ) _addCurveTo: X1=%f, Y1=%f, X2=%f, Y2=%f, X3=%f, Y3=%f - begin", aX1, aY1, aX2, aY2, aX3, aY3); |
94 M2G_DEBUG_6("M2G_DEBUG: JNI ( M2GSVGPath ) _addCurveTo: X1=%f, Y1=%f, X2=%f, Y2=%f, X3=%f, Y3=%f - begin", aX1, aY1, aX2, aY2, aX3, aY3); |
95 TInt err = KM2GNotOk; |
95 TInt err = KM2GNotOk; |
96 |
96 |
97 TM2GPathCurveData curve; |
97 TM2GPathCurveData curve; |
98 curve[ 0 ] = STATIC_CAST(TReal32, aX1); |
98 curve[ 0 ] = STATIC_CAST(TReal32, aX1); |
99 curve[ 1 ] = STATIC_CAST(TReal32, aY1); |
99 curve[ 1 ] = STATIC_CAST(TReal32, aY1); |
100 curve[ 2 ] = STATIC_CAST(TReal32, aX2); |
100 curve[ 2 ] = STATIC_CAST(TReal32, aX2); |
101 curve[ 3 ] = STATIC_CAST(TReal32, aY2); |
101 curve[ 3 ] = STATIC_CAST(TReal32, aY2); |
102 curve[ 4 ] = STATIC_CAST(TReal32, aX3); |
102 curve[ 4 ] = STATIC_CAST(TReal32, aX3); |
103 curve[ 5 ] = STATIC_CAST(TReal32, aY3); |
103 curve[ 5 ] = STATIC_CAST(TReal32, aY3); |
104 |
104 |
105 M2G_DO_LOCK |
105 M2G_DO_LOCK |
106 if (aSvgProxyHandle) |
106 if (aSvgProxyHandle) |
107 { |
107 { |
108 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
108 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
109 TRAP(err, aProxy->AddCurveToL( |
109 TRAP(err, aProxy->AddCurveToL( |
110 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), |
110 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), |
111 curve); ); |
111 curve);); |
112 } |
112 } |
113 M2G_DO_UNLOCK(aJni) |
113 M2G_DO_UNLOCK(aJni) |
114 |
114 |
115 M2GGeneral::CheckErrorCode(aJni, err); |
115 M2GGeneral::CheckErrorCode(aJni, err); |
116 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addCurveTo - end"); |
116 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addCurveTo - end"); |
117 } |
117 } |
118 |
118 |
119 // ----------------------------------------------------------------------------- |
119 // ----------------------------------------------------------------------------- |
123 * Calls MM2GSVGProxy::AddLineToL method. |
123 * Calls MM2GSVGProxy::AddLineToL method. |
124 * @since Series S60 3.0 |
124 * @since Series S60 3.0 |
125 * @param aProxy Proxy instance. |
125 * @param aProxy Proxy instance. |
126 * @param aPathHandle Svg path handle |
126 * @param aPathHandle Svg path handle |
127 * @param aX - |
127 * @param aX - |
128 * @param aY - |
128 * @param aY - |
129 */ |
129 */ |
130 JNIEXPORT void JNICALL |
130 JNIEXPORT void JNICALL |
131 Java_com_nokia_microedition_m2g_M2GSVGPath__1addLineTo( |
131 Java_com_nokia_microedition_m2g_M2GSVGPath__1addLineTo( |
132 JNIEnv* aJni, |
132 JNIEnv* aJni, |
133 jclass, |
133 jclass, |
134 jint aSvgProxyHandle, |
134 jint aSvgProxyHandle, |
135 jint aPathHandle, |
135 jint aPathHandle, |
136 jfloat aX, jfloat aY ) |
136 jfloat aX, jfloat aY) |
137 { |
137 { |
138 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _addLineTo: X=%f, Y=%f - begin", aX, aY); |
138 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _addLineTo: X=%f, Y=%f - begin", aX, aY); |
139 TInt err = KM2GNotOk; |
139 TInt err = KM2GNotOk; |
140 |
140 |
141 M2G_DO_LOCK |
141 M2G_DO_LOCK |
142 if (aSvgProxyHandle) |
142 if (aSvgProxyHandle) |
143 { |
143 { |
144 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
144 MM2GSVGProxy* aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
145 TRAP(err, aProxy->AddLineToL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle), *(REINTERPRET_CAST(TReal32*, &aX)), *(REINTERPRET_CAST(TReal32*, &aY))); ); |
145 TRAP(err, aProxy->AddLineToL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle), *(REINTERPRET_CAST(TReal32*, &aX)), *(REINTERPRET_CAST(TReal32*, &aY)));); |
146 |
146 |
147 } |
147 } |
148 M2G_DO_UNLOCK(aJni) |
148 M2G_DO_UNLOCK(aJni) |
149 |
149 |
150 M2GGeneral::CheckErrorCode(aJni, err); |
150 M2GGeneral::CheckErrorCode(aJni, err); |
151 |
151 |
152 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addLineTo - end"); |
152 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addLineTo - end"); |
153 } |
153 } |
154 // ----------------------------------------------------------------------------- |
154 // ----------------------------------------------------------------------------- |
171 jfloat aX, |
171 jfloat aX, |
172 jfloat aY) |
172 jfloat aY) |
173 { |
173 { |
174 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _addMoveTo: X=%f, Y=%f - begin", aX, aY); |
174 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _addMoveTo: X=%f, Y=%f - begin", aX, aY); |
175 TInt err = KM2GNotOk; |
175 TInt err = KM2GNotOk; |
176 |
176 |
177 M2G_DO_LOCK |
177 M2G_DO_LOCK |
178 if (aSvgProxyHandle) |
178 if (aSvgProxyHandle) |
179 { |
179 { |
180 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
180 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
181 TRAP(err, aProxy->AddMoveToL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aX, aY) ); |
181 TRAP(err, aProxy->AddMoveToL(STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aX, aY)); |
182 } |
182 } |
183 M2G_DO_UNLOCK(aJni) |
183 M2G_DO_UNLOCK(aJni) |
184 |
184 |
185 M2GGeneral::CheckErrorCode(aJni, err); |
185 M2GGeneral::CheckErrorCode(aJni, err); |
186 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addMoveTo - end"); |
186 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addMoveTo - end"); |
187 } |
187 } |
206 jint aSvgProxyHandle, |
206 jint aSvgProxyHandle, |
207 jint aPathHandle, |
207 jint aPathHandle, |
208 jfloat aX1, jfloat aY1, jfloat aX2, jfloat aY2) |
208 jfloat aX1, jfloat aY1, jfloat aX2, jfloat aY2) |
209 { |
209 { |
210 M2G_DEBUG_4("M2G_DEBUG: JNI ( M2GSVGPath ) _addQuadTo: X1=%f, Y1=%f, X2=%f, Y2=%f - begin", aX1, aY1, aX2, aY2); |
210 M2G_DEBUG_4("M2G_DEBUG: JNI ( M2GSVGPath ) _addQuadTo: X1=%f, Y1=%f, X2=%f, Y2=%f - begin", aX1, aY1, aX2, aY2); |
211 // TInt elementHandle = M2G_INVALID_HANDLE; |
211 |
212 TInt err = KM2GNotOk; |
212 TInt err = KM2GNotOk; |
213 |
213 |
214 M2G_DO_LOCK |
214 M2G_DO_LOCK |
215 if (aSvgProxyHandle) |
215 if (aSvgProxyHandle) |
216 { |
216 { |
217 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
217 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
218 TRAP(err, aProxy->AddQuadToL( |
218 TRAP(err, aProxy->AddQuadToL( |
219 STATIC_CAST(TM2GSvgPathHandle, aPathHandle),aX1, aY1, aX2, aY2); ); |
219 STATIC_CAST(TM2GSvgPathHandle, aPathHandle),aX1, aY1, aX2, aY2);); |
220 } |
220 } |
221 M2G_DO_UNLOCK(aJni) |
221 M2G_DO_UNLOCK(aJni) |
222 |
222 |
223 M2GGeneral::CheckErrorCode(aJni, err); |
223 M2GGeneral::CheckErrorCode(aJni, err); |
224 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addQuadTo - end"); |
224 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _addQuadTo - end"); |
225 } |
225 } |
226 |
226 |
227 // ----------------------------------------------------------------------------- |
227 // ----------------------------------------------------------------------------- |
241 { |
241 { |
242 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _createPath - begin"); |
242 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _createPath - begin"); |
243 |
243 |
244 TInt err = KM2GNotOk; |
244 TInt err = KM2GNotOk; |
245 TInt pathHandle = M2G_INVALID_HANDLE; |
245 TInt pathHandle = M2G_INVALID_HANDLE; |
246 |
246 |
247 M2G_DO_LOCK |
247 M2G_DO_LOCK |
248 if (aSvgProxyHandle) |
248 if (aSvgProxyHandle) |
249 { |
249 { |
250 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
250 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
251 TRAP(err, aProxy->CreatePathL(pathHandle); ); |
251 TRAP(err, aProxy->CreatePathL(pathHandle);); |
252 } |
252 } |
253 M2G_DO_UNLOCK(aJni) |
253 M2G_DO_UNLOCK(aJni) |
254 |
254 |
255 M2GGeneral::CheckErrorCode(aJni, err); |
255 M2GGeneral::CheckErrorCode(aJni, err); |
256 |
256 |
257 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _createPath: %d - end", pathHandle); |
257 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _createPath: %d - end", pathHandle); |
273 jint aSvgProxyHandle, |
273 jint aSvgProxyHandle, |
274 jint aPathHandle) |
274 jint aPathHandle) |
275 { |
275 { |
276 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _destroyPath: %d - begin", aPathHandle); |
276 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _destroyPath: %d - begin", aPathHandle); |
277 TInt err = KM2GNotOk; |
277 TInt err = KM2GNotOk; |
278 |
278 |
279 M2G_DO_LOCK |
279 M2G_DO_LOCK |
280 if (aSvgProxyHandle) |
280 if (aSvgProxyHandle) |
281 { |
281 { |
282 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
282 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
283 TRAP(err, aProxy->DestroyPathL( |
283 TRAP(err, aProxy->DestroyPathL( |
284 STATIC_CAST(TM2GSvgPathHandle, STATIC_CAST(TM2GSvgPathHandle, aPathHandle))); ); |
284 STATIC_CAST(TM2GSvgPathHandle, STATIC_CAST(TM2GSvgPathHandle, aPathHandle)));); |
285 } |
285 } |
286 M2G_DO_UNLOCK(aJni) |
286 M2G_DO_UNLOCK(aJni) |
287 |
287 |
288 M2GGeneral::CheckErrorCode(aJni, err); |
288 M2GGeneral::CheckErrorCode(aJni, err); |
289 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _destroyPath - end"); |
289 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _destroyPath - end"); |
290 } |
290 } |
307 jint aPathHandle) |
307 jint aPathHandle) |
308 { |
308 { |
309 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _getNumberOfSegments - begin"); |
309 M2G_DEBUG_0("M2G_DEBUG: JNI ( M2GSVGPath ) _getNumberOfSegments - begin"); |
310 TInt err = KM2GNotOk; |
310 TInt err = KM2GNotOk; |
311 TInt numberOfSegments = 0; |
311 TInt numberOfSegments = 0; |
312 |
312 |
313 M2G_DO_LOCK |
313 M2G_DO_LOCK |
314 if (aSvgProxyHandle) |
314 if (aSvgProxyHandle) |
315 { |
315 { |
316 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
316 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
317 TRAP(err, aProxy->GetNumberOfSegmentsL( |
317 TRAP(err, aProxy->GetNumberOfSegmentsL( |
318 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), |
318 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), |
319 numberOfSegments); ); |
319 numberOfSegments);); |
320 } |
320 } |
321 M2G_DO_UNLOCK(aJni) |
321 M2G_DO_UNLOCK(aJni) |
322 |
322 |
323 M2GGeneral::CheckErrorCode(aJni, err); |
323 M2GGeneral::CheckErrorCode(aJni, err); |
324 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getNumberOfSegments: %d - end", numberOfSegments); |
324 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getNumberOfSegments: %d - end", numberOfSegments); |
325 return STATIC_CAST(jint, numberOfSegments); |
325 return STATIC_CAST(jint, numberOfSegments); |
326 } |
326 } |
327 |
327 |
345 jint aPathHandle, jint aSegmentIndex, jint aParamIndex) |
345 jint aPathHandle, jint aSegmentIndex, jint aParamIndex) |
346 { |
346 { |
347 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentParameter: seg index=%d, param index=%d - begin", aSegmentIndex, aParamIndex); |
347 M2G_DEBUG_2("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentParameter: seg index=%d, param index=%d - begin", aSegmentIndex, aParamIndex); |
348 TInt err = KM2GNotOk; |
348 TInt err = KM2GNotOk; |
349 TReal32 segmentParam = 0; |
349 TReal32 segmentParam = 0; |
350 |
350 |
351 M2G_DO_LOCK |
351 M2G_DO_LOCK |
352 if (aSvgProxyHandle) |
352 if (aSvgProxyHandle) |
353 { |
353 { |
354 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
354 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
355 TRAP(err, aProxy->GetSegmentParameterL( |
355 TRAP(err, aProxy->GetSegmentParameterL( |
356 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aSegmentIndex,aParamIndex, segmentParam); ); |
356 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aSegmentIndex,aParamIndex, segmentParam);); |
357 } |
357 } |
358 M2G_DO_UNLOCK(aJni) |
358 M2G_DO_UNLOCK(aJni) |
359 |
359 |
360 M2GGeneral::CheckErrorCode(aJni, err); |
360 M2GGeneral::CheckErrorCode(aJni, err); |
361 |
361 |
362 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentParameter: %f - end", segmentParam); |
362 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentParameter: %f - end", segmentParam); |
384 jint aIndex) |
384 jint aIndex) |
385 { |
385 { |
386 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentType: index=%d - begin", aIndex); |
386 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentType: index=%d - begin", aIndex); |
387 TInt err = KM2GNotOk; |
387 TInt err = KM2GNotOk; |
388 TInt16 aSegmentType = 0; |
388 TInt16 aSegmentType = 0; |
389 |
389 |
390 M2G_DO_LOCK |
390 M2G_DO_LOCK |
391 if (aSvgProxyHandle) |
391 if (aSvgProxyHandle) |
392 { |
392 { |
393 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
393 MM2GSVGProxy * aProxy = JavaUnhand< MM2GSVGProxy >(aSvgProxyHandle); |
394 TRAP(err, aProxy->GetSegmentTypeL( |
394 TRAP(err, aProxy->GetSegmentTypeL( |
395 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aIndex,aSegmentType); ); |
395 STATIC_CAST(TM2GSvgPathHandle, aPathHandle), aIndex,aSegmentType);); |
396 } |
396 } |
397 M2G_DO_UNLOCK(aJni) |
397 M2G_DO_UNLOCK(aJni) |
398 |
398 |
399 M2GGeneral::CheckErrorCode(aJni, err); |
399 M2GGeneral::CheckErrorCode(aJni, err); |
400 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentType: %d - end", aSegmentType); |
400 M2G_DEBUG_1("M2G_DEBUG: JNI ( M2GSVGPath ) _getSegmentType: %d - end", aSegmentType); |
401 return STATIC_CAST(jshort, aSegmentType); |
401 return STATIC_CAST(jshort, aSegmentType); |