craigsboyd wrote:
What type of break out for the PRGs have you decided on? Using .NET namespaces or grouping by functionality?
I think we should add some #Defines in the PRG in order to separate each of the original VCX classes. This way, it will be easier for us to do some maintenance, and to users to compile just some pieces of the library.
craigsboyd wrote:
Will GDIPlusX allow the developer to use the library without the FLL (check whether SET LIBRARY TO has been called on the FLL and if not use the older code that is not reliant on the FLL) or will the FLL be mandatory moving forward?
IMO, the FLL will just bring some additional functions that require a great speed of processing, like GIF optimization, using the Octrees technique, and for the management of streams that require callbacks...
Bo, did you manage to test the classes that I created for streams ? I'm really not sure if the FLL is really needed, because the performance was exactly the same from the ActiveX created by Calvin Hsia, and in my tests, memory is being released properly... What did you find on that ?
craigsboyd wrote:
The Function/Declare trick you are proposing of implementing for the API calls is nice as well.
Hey Bo, that's so simple, and so nice !
I've learned another good one! Thanks !
craigsboyd wrote:
PS Have we figured out a good way to allow the library to be compatible with the _gdiplus.vcx that ships with Visual FoxPro 9.0? It would be cool if developers could take advantage of existing code base that utilizes the _gdiplus.vcx while enjoying the multitude of classes, features, and improvements provided by the significantly more robust GDIPlusX library. I know you, Ceasar, and I talked about it at one time and there seemed to be some workable ideas at the time.
At this moment, people from _gdiplus.vcx can use some specific objects created by GdiPlusX, like the special brushes - Gradient and Path Gradient and Texture brushes, just passing the GdiPlusX brush as a parameter. The use of Image Attributes is also available, and an ImageAttribute object can be created in GdiPlusX, with all parameters needed and passed as a parameter to the "DrawImageRectRect" method.
But do you want to know the truth ? I am subscribed to many VFP forums, and I have never seen any question regarding this. ADvanced users already know how to do that, getting the GDI+ handles, and using them when needed.
For my personal case, at the beginning, I started using some brushes and other stuff from GdiPlusX with _GdiPlus.vcx . But the code became a little bit confuse... and after I got really familiarized with "X", I converted all codes so fast. After that, my code became much easier to understand, and debug... Today I don't have any code from the legacy libraries.
But that's a good idea for a future blog post indeed.
It's very nice to see you back Craig !
Your presence brings the enthusiasm that people need !