equal
deleted
inserted
replaced
37 iPathHandleCount = 0; |
37 iPathHandleCount = 0; |
38 iEncodedData = 0; |
38 iEncodedData = 0; |
39 iHandle = 1; |
39 iHandle = 1; |
40 iCommonHeaderLength = 0; |
40 iCommonHeaderLength = 0; |
41 iCommonHeader = 0; |
41 iCommonHeader = 0; |
42 iVgErrorCode = VG_NO_ERROR; |
|
43 } |
42 } |
44 |
43 |
45 CPseodoVGRendererImpl::~CPseodoVGRendererImpl() |
44 CPseodoVGRendererImpl::~CPseodoVGRendererImpl() |
46 { |
45 { |
47 delete iEncodedData; |
46 delete iEncodedData; |
231 #endif |
230 #endif |
232 } |
231 } |
233 |
232 |
234 TUint CPseodoVGRendererImpl::vgCreatePaint() |
233 TUint CPseodoVGRendererImpl::vgCreatePaint() |
235 { |
234 { |
236 if(iVgErrorCode != VG_NO_ERROR) |
|
237 return VG_INVALID_HANDLE; |
|
238 |
|
239 iHandle++; |
235 iHandle++; |
240 EncodeInt8(EvgCreatePaint); |
236 EncodeInt8(EvgCreatePaint); |
241 EncodeInt32(iHandle); |
237 EncodeInt32(iHandle); |
242 #ifdef VGRENDERER_LOG |
238 #ifdef VGRENDERER_LOG |
243 iLog.WriteFormat(_L("vgCreatePaint")); |
239 iLog.WriteFormat(_L("vgCreatePaint")); |
246 } |
242 } |
247 |
243 |
248 TUint CPseodoVGRendererImpl::vgCreatePath(TInt pathFormat, TInt datatype, TReal32 scale, TReal32 bias, |
244 TUint CPseodoVGRendererImpl::vgCreatePath(TInt pathFormat, TInt datatype, TReal32 scale, TReal32 bias, |
249 TInt segmentCapacityHint, TInt coordCapacityHint, TInt capabilities) |
245 TInt segmentCapacityHint, TInt coordCapacityHint, TInt capabilities) |
250 { |
246 { |
251 if(iVgErrorCode != VG_NO_ERROR) |
|
252 return VG_INVALID_HANDLE; |
|
253 |
|
254 |
|
255 iHandle++; |
247 iHandle++; |
256 EncodeInt8(EvgCreatePath); |
248 EncodeInt8(EvgCreatePath); |
257 EncodeInt32(pathFormat); |
249 EncodeInt32(pathFormat); |
258 EncodeInt8(datatype); |
250 EncodeInt8(datatype); |
259 EncodeReal32(scale); |
251 EncodeReal32(scale); |
389 EncodeInt8(EvgDrawPath); |
381 EncodeInt8(EvgDrawPath); |
390 EncodeInt32(path); |
382 EncodeInt32(path); |
391 EncodeInt16(capabilities); |
383 EncodeInt16(capabilities); |
392 |
384 |
393 #ifdef VGRENDERER_LOG |
385 #ifdef VGRENDERER_LOG |
394 LogvgDrawPath(path,0); |
386 LogvgDrawPath(paintModes,0); |
395 #endif |
387 #endif |
396 |
388 |
397 } |
389 } |
398 |
390 |
399 void CPseodoVGRendererImpl::vgClearPath(TUint path, TUint capabilities) |
391 void CPseodoVGRendererImpl::vgClearPath(TUint path, TUint capabilities) |
466 return KErrNone; |
458 return KErrNone; |
467 } |
459 } |
468 |
460 |
469 TUint CPseodoVGRendererImpl::vgCreateImage(TInt format, TInt width, TInt height, TInt allowedQuality) |
461 TUint CPseodoVGRendererImpl::vgCreateImage(TInt format, TInt width, TInt height, TInt allowedQuality) |
470 { |
462 { |
471 if(iVgErrorCode != VG_NO_ERROR) |
|
472 return VG_INVALID_HANDLE; |
|
473 |
|
474 iHandle++; |
463 iHandle++; |
475 EncodeInt8(EvgCreateImage); |
464 EncodeInt8(EvgCreateImage); |
476 EncodeInt32(format); |
465 EncodeInt32(format); |
477 EncodeInt32(width); |
466 EncodeInt32(width); |
478 EncodeInt32(height); |
467 EncodeInt32(height); |
479 EncodeInt8(allowedQuality); |
468 EncodeInt8(allowedQuality); |
480 EncodeInt32(iHandle); |
469 EncodeInt32(iHandle); |
481 #ifdef VGRENDERER_LOG |
|
482 iLog.WriteFormat(_L("vgcreateimage")); |
|
483 #endif |
|
484 return iHandle; |
470 return iHandle; |
485 } |
471 } |
486 |
472 |
487 void CPseodoVGRendererImpl::vgGetPixels(TUint /*dst*/, TInt /*dx*/, TInt /*dy*/, TInt /*sx*/, TInt /*sy*/, TInt /*width*/, TInt /*height*/) |
473 void CPseodoVGRendererImpl::vgGetPixels(TUint /*dst*/, TInt /*dx*/, TInt /*dy*/, TInt /*sx*/, TInt /*sy*/, TInt /*width*/, TInt /*height*/) |
488 { |
474 { |
491 |
477 |
492 void CPseodoVGRendererImpl::vgDrawImage(TUint image) |
478 void CPseodoVGRendererImpl::vgDrawImage(TUint image) |
493 { |
479 { |
494 EncodeInt8(EvgDrawImage); |
480 EncodeInt8(EvgDrawImage); |
495 EncodeInt32(image); |
481 EncodeInt32(image); |
496 #ifdef VGRENDERER_LOG |
|
497 iLog.WriteFormat(_L("vgdrawimage")); |
|
498 #endif |
|
499 } |
482 } |
500 |
483 |
501 void CPseodoVGRendererImpl::vgClearImage(TUint image, TInt x, TInt y, TInt width, TInt height) |
484 void CPseodoVGRendererImpl::vgClearImage(TUint image, TInt x, TInt y, TInt width, TInt height) |
502 { |
485 { |
503 EncodeInt8(EvgClearImage); |
486 EncodeInt8(EvgClearImage); |
504 EncodeInt32(image); |
487 EncodeInt32(image); |
505 EncodeInt32(x); |
488 EncodeInt32(x); |
506 EncodeInt32(y); |
489 EncodeInt32(y); |
507 EncodeInt32(width); |
490 EncodeInt32(width); |
508 EncodeInt32(height); |
491 EncodeInt32(height); |
509 #ifdef VGRENDERER_LOG |
|
510 iLog.WriteFormat(_L("vgclearimage")); |
|
511 #endif |
|
512 } |
492 } |
513 |
493 |
514 void CPseodoVGRendererImpl::vgImageSubData(TUint image, const void * data, TInt dataStride, |
494 void CPseodoVGRendererImpl::vgImageSubData(TUint image, const void * data, TInt dataStride, |
515 TInt dataFormat, TInt x, TInt y, TInt width, TInt height) |
495 TInt dataFormat, TInt x, TInt y, TInt width, TInt height) |
516 { |
496 { |
641 } while( --height ); |
621 } while( --height ); |
642 |
622 |
643 |
623 |
644 EncodeData(dstData, dataLength); |
624 EncodeData(dstData, dataLength); |
645 delete [] dstData; |
625 delete [] dstData; |
646 #ifdef VGRENDERER_LOG |
|
647 iLog.WriteFormat(_L("vgimagesubdata")); |
|
648 #endif |
|
649 } |
626 } |
650 else |
627 else |
651 { |
628 { |
652 |
629 |
653 #ifdef VGRENDERER_LOG |
630 #ifdef VGRENDERER_LOG |
669 |
646 |
670 void CPseodoVGRendererImpl::vgDestroyImage(TUint aHandle) |
647 void CPseodoVGRendererImpl::vgDestroyImage(TUint aHandle) |
671 { |
648 { |
672 EncodeInt8(EvgDestroyImage); |
649 EncodeInt8(EvgDestroyImage); |
673 EncodeInt32(aHandle); |
650 EncodeInt32(aHandle); |
674 #ifdef VGRENDERER_LOG |
|
675 iLog.WriteFormat(_L("vgdestroyimage")); |
|
676 #endif |
|
677 } |
651 } |
678 |
652 |
679 void CPseodoVGRendererImpl::vgDestroyPaint(TUint /*aHandle*/) |
653 void CPseodoVGRendererImpl::vgDestroyPaint(TUint /*aHandle*/) |
680 { |
654 { |
681 //TODO |
655 //TODO |
691 //TODO |
665 //TODO |
692 } |
666 } |
693 |
667 |
694 TInt CPseodoVGRendererImpl::vgGetError() |
668 TInt CPseodoVGRendererImpl::vgGetError() |
695 { |
669 { |
696 return iVgErrorCode; |
670 //TODO |
|
671 return 0; |
697 } |
672 } |
698 |
673 |
699 MVGSurfaceImpl* CPseodoVGRendererImpl::CreateVGSurfaceL(TInt /*aOption*/) |
674 MVGSurfaceImpl* CPseodoVGRendererImpl::CreateVGSurfaceL(TInt /*aOption*/) |
700 { |
675 { |
701 return CPseudoVGSurfaceImpl::NewL(this); |
676 return CPseudoVGSurfaceImpl::NewL(this); |
731 return EncodeData(&aVal, sizeof(aVal)); |
706 return EncodeData(&aVal, sizeof(aVal)); |
732 } |
707 } |
733 |
708 |
734 TInt CPseodoVGRendererImpl::EncodeData(const TAny *aData, TUint aLength) |
709 TInt CPseodoVGRendererImpl::EncodeData(const TAny *aData, TUint aLength) |
735 { |
710 { |
736 |
711 TInt result = KErrNone; |
737 if(iVgErrorCode==VG_NO_ERROR) |
712 TPtr8 lPtr( iEncodedData->Des() ); |
738 { |
713 TInt encodedDataLength = lPtr.Length() + aLength; |
739 TInt result = KErrNone; |
714 TInt encodedDataMaxLength = lPtr.MaxLength(); |
740 TPtr8 lPtr( iEncodedData->Des() ); |
|
741 TInt encodedDataLength = lPtr.Length() + aLength; |
|
742 TInt encodedDataMaxLength = lPtr.MaxLength(); |
|
743 |
715 |
744 if (encodedDataLength >= encodedDataMaxLength) |
716 if (encodedDataLength >= encodedDataMaxLength) |
745 { |
717 { |
746 if ((result = ExpandEncodedData(encodedDataLength)) == KErrNone) |
718 if ((result = ExpandEncodedData(encodedDataLength)) == KErrNone) |
747 { |
719 { |
752 else |
724 else |
753 { |
725 { |
754 lPtr.Append((TUint8*)(aData), aLength); |
726 lPtr.Append((TUint8*)(aData), aLength); |
755 } |
727 } |
756 |
728 |
757 return result; |
729 return result; |
758 } |
|
759 else |
|
760 { |
|
761 return iVgErrorCode; |
|
762 } |
|
763 } |
730 } |
764 |
731 |
765 TInt CPseodoVGRendererImpl::ExpandEncodedData(TUint aNewLength) |
732 TInt CPseodoVGRendererImpl::ExpandEncodedData(TUint aNewLength) |
766 { |
733 { |
767 TInt result = KErrNone; |
734 TInt result = KErrNone; |
771 HBufC8 * tmpBuf = HBufC8::New(encodedDataMaxLength + granularities * CPseodoVGRendererImpl::ENCODEDDATAGRANULARITY); |
738 HBufC8 * tmpBuf = HBufC8::New(encodedDataMaxLength + granularities * CPseodoVGRendererImpl::ENCODEDDATAGRANULARITY); |
772 |
739 |
773 if (tmpBuf == 0) |
740 if (tmpBuf == 0) |
774 { |
741 { |
775 result = KErrNoMemory; |
742 result = KErrNoMemory; |
776 iVgErrorCode = VG_OUT_OF_MEMORY_ERROR; |
|
777 } |
743 } |
778 |
744 |
779 else |
745 else |
780 { |
746 { |
781 TPtr8 tmpBufPtr (tmpBuf->Des()); |
747 TPtr8 tmpBufPtr (tmpBuf->Des()); |
789 } |
755 } |
790 |
756 |
791 |
757 |
792 void CPseodoVGRendererImpl::EmptyEncodedData() |
758 void CPseodoVGRendererImpl::EmptyEncodedData() |
793 { |
759 { |
794 iVgErrorCode = VG_NO_ERROR; |
|
795 if(iEncodedData->Length() > CPseodoVGRendererImpl::ENCODEDDATALENGTH) |
|
796 { |
|
797 delete iEncodedData; |
|
798 iEncodedData = HBufC8::New(CPseodoVGRendererImpl::ENCODEDDATALENGTH); |
|
799 if(!iEncodedData) |
|
800 { |
|
801 iVgErrorCode = VG_OUT_OF_MEMORY_ERROR; |
|
802 return; |
|
803 } |
|
804 } |
|
805 TPtr8 lPtr( iEncodedData->Des() ); |
760 TPtr8 lPtr( iEncodedData->Des() ); |
806 lPtr.Zero(); |
761 lPtr.Zero(); |
807 WriteHeader(); |
762 WriteHeader(); |
808 |
763 |
809 #ifdef VGRENDERER_LOG |
764 #ifdef VGRENDERER_LOG |