Important alert: (current site time 7/16/2013 2:59:41 AM EDT)
 

winzip icon

FX.DLL 1.03 SDK

Email
Submitted on: 6/3/2003 9:20:59 AM
By: Martins Skujenieks 
Level: Advanced
User Rating: By 75 Users
Compatibility: VB 4.0 (32-bit), VB 5.0, VB 6.0, VB Script, VBA MS Access, VBA MS Excel
Views: 38623
 
     The version 1.03 is here! A total of 46 graphical routines, excellent speed and easy to use. All this and many, many more in this SDK. Also all 5000 lines of source-code now included for the taking. Check out the screen-shot! Don't wait, experience it!

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 4 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Advanced category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
6/3/2003 9:35:04 AMMartins Skujenieks

Any comments, suggestions or questions? Don't wait, ask them right here!
(If this comment was disrespectful, please report it.)

 
6/3/2003 10:29:38 AMBattleStorm

Very nice. A definate improvement over the previous versions. Keep it coming. Ever thought of incorperating the anti-alias function into the Render and Rotate functions? Keep up the great work. 5 globes!
(If this comment was disrespectful, please report it.)

 
6/3/2003 10:39:13 AMMartins Skujenieks

You wish is my command, BattleStorm :P
I'll work on it! I have tons of ideas to implement, but there is only 24 hours per day... Anyway, thank you!
(If this comment was disrespectful, please report it.)

 
6/3/2003 10:56:02 AMBattleStorm

I have an example of Bilinear Anti-Alias pixel rotation if you need code to base the C++ dll on. Just do a search on BattleStorm. I thought about adding it myself to your source if I get a chance. If I get something working, I'll send you the updated code. You have a great dll coming along!
(If this comment was disrespectful, please report it.)

 
6/3/2003 11:00:49 AMMartin J. Brown

Excellent dll thank you for the "heads up" email greatly appreciated. Hope to see you get some more recognition than so far. Martin
(If this comment was disrespectful, please report it.)

 
6/3/2003 11:03:32 AM

Superb! Thanks for sharing.
(If this comment was disrespectful, please report it.)

 
6/3/2003 11:27:45 AMBestVBCoder.

Also, this is a great example on how to create a C++ Dll for use with VB. Your HTML driven SDK is awesome too.
(If this comment was disrespectful, please report it.)

 
6/3/2003 12:15:27 PMHaru Glory

cool!
(If this comment was disrespectful, please report it.)

 
6/3/2003 12:28:28 PMTriumph

This is probably stu-pid, but I can't get VB to create a reference to the DLL. I ran the Setup batch file, and it ran just fine, but then when I tried to add a reference in the project, it told me it could not create one. I tried copying the DLL into SYSTEM, then SYSTEM32, but no such luck. Sorry, what should I do?
(If this comment was disrespectful, please report it.)

 
6/3/2003 1:29:04 PMBattleStorm

You don't need to reference the DLL in VB. It is called like standard windows API.
(If this comment was disrespectful, please report it.)

 
6/3/2003 2:10:10 PM

i give you 5, think u deserve it. hope u win month contest !!
(If this comment was disrespectful, please report it.)

 
6/3/2003 2:39:04 PMDream

Very Nice.
(If this comment was disrespectful, please report it.)

 
6/3/2003 2:42:04 PMMartins Skujenieks

Thank you, BattleStorm, the Bilinear Anti-Alias pixel rotation is great work! Why in the hack I didn't find it two weeks ago :) I hope I will be able to implement it into FX library! Once again, thank you, BattleStorm!
(If this comment was disrespectful, please report it.)

 
6/3/2003 3:31:58 PM

thanks for this nice code!! ***** globes
(If this comment was disrespectful, please report it.)

 
6/3/2003 3:40:01 PMMartins Skujenieks

Triumph, as BattleStorm already told the FX.DLL is library that you don't need to reference. It uses API standard calling instead.
To use the DLL in your VB project follow these steps (by the way, they are already described in SDK articles):
1) make a copy of FX.DLL and copy it to your project directory;
2) make a copy of FX.BAS (Visual Basic module) and also copy it to your project directory;
3) add the copied FX module to your vb project (menu Project > Add Module).
And thats it, now you have all APIs, constants and tags already defined for you!
-Martin
(If this comment was disrespectful, please report it.)

 
6/3/2003 4:49:16 PMMArio Flores G

Now that is open Source and better you deserve this Month 1st Place.. :) Good Luck!
(If this comment was disrespectful, please report it.)

 
6/4/2003 9:09:55 AMTriumph

VERY nice! Excellent work. Sorry about my misunderstanding. 5 globes from me. The open-source is nice, too. Overall, very good!
(If this comment was disrespectful, please report it.)

 
6/4/2003 3:48:11 PMJim K

Excellent it is, and excellent you get.
(If this comment was disrespectful, please report it.)

 
6/5/2003 5:38:50 AMWill Barden

Very nice, although since it's been submitted in the VB section, I feel I should vote on the VB code, which is good, but not excellent. Call me pendantic if you wish.. :)
(If this comment was disrespectful, please report it.)

 
6/5/2003 7:19:09 PMMArio Flores G

How About Page Curl Effect?...I have the Code but is in ASM..if you added this that will be nicer.:)
(If this comment was disrespectful, please report it.)

 
6/7/2003 10:27:26 PMDream

Hi Will, yes I returned for the same reason. This is a VB competiton not C++, looks like our prize for the month goes to a C++ Submission.
(If this comment was disrespectful, please report it.)

 
6/8/2003 4:08:29 AMMartins Skujenieks

Will Barden and Dream, I respect your opinions, but in the same time I don't agree with them. Even more - it is insanity if my submission receives Good instead of Excellent only because the library is written in C++. Your voting seems to me more groundless because the library is developed for use within Visual Basic and all the source-code is included.
Also some day you will understand that you can't make an outstanding application or game using only one programmming language (may be exception is if you use C++ :D). Professional developers use the language that best suits for the project part they want to complete.
And final thing to add - when you work with Visual Basic, you use many controls, like Common Dialog, Winsock etc. And how do you think, in which language are they written? So, when you rate my code below it deserves only because it uses in C++ written FX library, don't for get to rate below other projects who use in C++ written Common Dialog, Winsock and other controls!
(If this comment was disrespectful, please report it.)

 
6/8/2003 8:22:29 AMWill Barden

Martins - This is a VB competition. We are voting on code written in VB. Since the majority of your application is written in C++, I will not vote on that part of it. I am fully aware that most VB programs are not completely VB as most if not all third party controls commonly used are written using C++. However, the difference is clear - I have not seen a submission that is just a front end for a listview control, or a command button. Your submission is just a front end for a DLL you've written. Without the DLL, your submission is nothing. Without a listview control, most other VB apps would still have some VB code worth voting on. Do you see what I mean? If you re-submit your DLL to the C++ section, I would happily vote on it and give you the 5 it deserves.
(If this comment was disrespectful, please report it.)

 
6/8/2003 1:52:09 PMMartins Skujenieks

Will Barden, thank you for dealing your opinion with me, but I still don't agree with it! Yes, you are right - this is Visual Basic competition and better place for my code would be C++ world. But I would still post it in VB worls because this library is for use within Visual Basic. So why I can not post it in VB world?
Once again, thank you for your opinion and I will keep it in mind! Also I thank you for your vote, though it wasn't the one I were hoping for...

Regards
- Martins
(If this comment was disrespectful, please report it.)

 
6/8/2003 4:48:00 PMWill Barden

You do agree with me - the place for this code would be the C++ section. It's great code! Posting a demo for a library is fine, but I guess I'm really just a little annoyed that you're only winning a VB competition because of some C++ code. Still, that's obviously what the VB world here wants to see. Perhaps that says something about the state of VB as a serious development language... maybe it's being shadowed by C++ more and more. What do others think on this matter?
(If this comment was disrespectful, please report it.)

 
6/8/2003 4:50:01 PMWill Barden

Oh, and thanks for understanding my opinion. Not all coders who submit here would have allowed discussion without some serious flaming. Nice to see some people are upholding the standards that PSC used to have. :)
(If this comment was disrespectful, please report it.)

 
6/9/2003 2:51:10 PMAnas S. A.

Very Good!! u deserve 5 stars and u should get 1st place this month. thank u for sharing such a wonderful peace of work. Keep it up, and keep'um coming !!
(If this comment was disrespectful, please report it.)

 
6/10/2003 2:36:37 PMLaVolpe

Haven't played with it yet; therefore withholding vote til then. Question begs to be asked... Thought of converting DLL to VB?
(If this comment was disrespectful, please report it.)

 
6/10/2003 2:53:16 PMLaVolpe

Looking at your source code, fxAlphaBlend, fxAmbientLight & others use the SetStretchBltMode API with the HalfTone parameter. Unless I'm mistaken & don't think I am, this is not compatible with Win98 & maybe others. Thought of using CopyImage vs the StretchBltxxx APIs?
(If this comment was disrespectful, please report it.)

 
6/11/2003 2:34:47 AMMartins Skujenieks

LaVolpe, nice there is someone who atlast asks me about the code :)
Actually you are mistaken. When I coded this library one of my goals was to make it compatible with all Windows platforms (except the very, very old Windows 3.x).
The StretchBltMode is compatible with all Windows versions, it was implemented starting with Windows 95 and NT 3.1, the same as HALFTONE constant. This constant stayed the same even when Me/2000/XP were released. Later Microsoft implemented newer StretchBlt constants and they can be also used (their only difference is in the names, e.g. STRETCH_HALFTONE is the same as HALFTONE). Open WINGDI.H file and find StretchBlt constants (file comes along with MS Visual C++ 6.0). You will see that I am right :P
CopyImage API works slower than StretchBlt, this is why I choosed StrecthBlt instead.
- Martins
(If this comment was disrespectful, please report it.)

 
6/14/2003 7:33:23 AMCodeFester

Listen, this guy deserves the high votes and this S
(If this comment was disrespectful, please report it.)

 
6/14/2003 7:41:08 AMCodeFester

I was saying: this S&%t about "should of been in C++ world" well I for one am glad it wasn't or I might not of run across it. I suspect I am not alone in this opinion. Martins- 5 dangling ballz from codefester.
(If this comment was disrespectful, please report it.)

 
6/14/2003 2:33:04 PMMartins Skujenieks

CodeFester -- you're talking my language :) Thank you!
(If this comment was disrespectful, please report it.)

 
6/15/2003 4:06:23 AMDream

Sorry I disagree, recently I posted a winsock dll written in c++ by Trevor Herselman(forgive me if my spelling is off Trevor) It contains two vb code examples to use it, no c++ example, but still it is leading the c++ competition where it belongs. Your code is not Visual Basic, it is c++ and should be IN THE C++ SECTION. Yes I agree it is marvelous code but you submitted it in the wrong category.
(If this comment was disrespectful, please report it.)

 
6/15/2003 4:26:20 AMDream

What I meant was I posted a link to Trevors submission, which is on c++
(If this comment was disrespectful, please report it.)

 
6/17/2003 6:17:52 AM

I bend in the name of programming :D
(If this comment was disrespectful, please report it.)

 
6/17/2003 5:05:58 PM

Dude you're a total stud for making this! It totally owns! My vote is "excellent"!
(If this comment was disrespectful, please report it.)

 
6/19/2003 11:51:22 AMJason Allen

Excellent work, This is really great, but I am going to hold off voting for it in the VB section based on what was written above.
(If this comment was disrespectful, please report it.)

 
6/19/2003 12:47:16 PMMartins Skujenieks

Jason, I am always polite to everyone, but this is insanity, this is just too much! I understand why Will Barden gave me just four globes and I had conversation with him, and we both found a compromise. I already told that in future I will post C++ code in C world. But you gave me average, just because of your personal ambitions. I think Planet-Source-Code.Com is the place where you rate the code, even if it is posted in VB world, instead of C. If you don't like this, don't vote at all, but why to give me average! If you just added feedback, I would keep your opinion in my mind, but now I am just angry... May be this is wrong, but I just can't keep my mouth shut!
(If this comment was disrespectful, please report it.)

 
6/20/2003 3:26:35 PMBattleStorm

Make sure you let me know when you post the next version whether it is in th VB or C++ section. I love this code and am curently using the .dll if a VB game developement suite I am making. Don;t worry, you will get full credit in my credits for the C++ .dll ;) I want to make sure I am using the most current .dll throughout my development.
(If this comment was disrespectful, please report it.)

 
6/21/2003 11:16:11 AMMartins Skujenieks

BattleStorm, don't worry! You will receive e-mail notification once there will be new versions released!
Also, in September or October I'm planning to release FX2 library. The new library will be completely rewritten from null. It will handle memory buffers, file loading/saving, sprites, multiple graphical effects, all those already supported features and many more. It will be more faster and more stable.
FX.DLL 1.04 or higher version, will be released in August or September.

-Martins Skujenieks
(If this comment was disrespectful, please report it.)

 
6/26/2003 8:05:08 AM

Congratulations Martins !
Keep your excellent job.
Doesn't matter if is C++ or VB. This code is very useful for me.
One question :
Can I use any C++ dll in my VB programs ?

5 globes to you

Heilan Percio Aka Joe Kaisaka
Brasil.
(If this comment was disrespectful, please report it.)

 
6/26/2003 11:56:51 AMMartins Skujenieks

Thank you, Heilan! Thank you very much!

Actually you can't use any in C++ written DLL within Visual Basic (VB). This is because C++ compiler has two compiler flags that specifies for what type of calling the DLL functions should be exported.
The first type is standard calling (defined with "__stdcall") type which is supported by Visual Basic and other languages. The second type is C declaration ("__cdecl") which is supported only by C, C++ itself and is not suppoerted by VB.
If the functions in the DLL are decalred for standard calling (like, for example, in my FX library), you can access the DLL from VB.
If the functions are declared for C language, you will not be able to call them from VB. You will receive "Bad DLL calling!" error message.

If you have more questions, you can e-mail me and I will try to answer them!

Martins
(If this comment was disrespectful, please report it.)

 
6/27/2003 12:40:00 PMHaru Glory

It's really excellent. The code is very useful, why don't you convert this in VB so that we can understand this more clearly. Can u please notify me if you have an update version of this. To tell you the truth "I LUV YOUR CODE".
BTW, If you did not post this in VB Section bec. some of the codes are made in C++ i will never know this. I'm glad that you post this in VB.
(If this comment was disrespectful, please report it.)

 
6/27/2003 3:01:01 PMMartins Skujenieks

Don't worry -- I'll send e-mail notification to everyone who voted or left feedback once the new version(s) will be released.

Latest information about release of my projects can be also found on my website -- http://www.exe.times.lv!

I apologize that the new release(s) won't be available until September or October, but my schedule is very tight and I really don't have time for programming!
I'm planning to start/continue working on my projects in September.

I also want to thank you all for your votes and feedbacks! For your appreciation and for giving me chance to be one of the Planet-Source-Code monthly contest leaders!
I'll keep working on FX technology as well as on other projects that will see daylight after few months.

Martins Skujenieks
(If this comment was disrespectful, please report it.)

 
8/1/2003 2:40:00 PMxWorks

This is a great dll that you have, and i have to say that it works wonderfully, but i am upset that a VB award went to a C++ project, from what i understand C++ is made for doing DLL's and such, and so is VB, albiet in a limited way, So here comes the final and total question: Who Cares? do what I am doing and Learn C++, then you have two languages beneith your belt! EXCELLENT CODING!
(If this comment was disrespectful, please report it.)

 
8/1/2003 5:02:00 PMOle Chrisitian Spro

One thing Martin...
quote "If you don't like this, don't vote at
all, but why to give me average!" end quote... thats exactly what the voting system is for... to give the general opinion of the project... you just come out sounding like a spoiled brat, sry to say...
Dont think I'll have any use for this project, but I'm looking forward with interesst to your FX2 library... add me to the mail list for that one, plz ;)
(If this comment was disrespectful, please report it.)

 
8/6/2003 1:57:02 AM

5 stars nice job
(If this comment was disrespectful, please report it.)

 
8/6/2003 3:46:34 PMMartins Skujenieks

Thanks everyone! I am realy surprised to see some more feedbacks -- even when the contest is already months away. This is nice.
I have started work on FX2 but currently it is not going as good as I was expecting. I am having some difficulties with core of the DLL -- the memory allocation for graphical buffer. Anyway, I am 99% sure that the first version of FX2 will be out in autumn 2003. Visit http://www.exe.times.lv!
(If this comment was disrespectful, please report it.)

 
8/7/2003 8:04:43 PM

Excellent code - definitely 5 globes! I had problems getting the demo to run when I placed the fx.dll in the project directory (VB6.0/Win95).

I placed a copy of the fx.dll in the Windows\System directory - everything works great! I can't wait for your next version. I am going to throw out LeadTools!
(If this comment was disrespectful, please report it.)

 
8/18/2003 1:55:46 PM

very nice
add Page Curl and other filters
(If this comment was disrespectful, please report it.)

 
8/18/2003 2:45:59 PM

Wow that looks really cool!
(If this comment was disrespectful, please report it.)

 
8/23/2003 7:40:20 PM

If it had not been posted here then most people would not have seen it.

I for one would like more DLLs posted here.
(If this comment was disrespectful, please report it.)

 
8/31/2003 5:42:44 AM

I dont speeck English, i speeck Italian .
Tutto bene devo solo provare il file che ho scaricato poi, daro il voto.
(If this comment was disrespectful, please report it.)

 
9/3/2003 3:01:59 PM

Great code! 5 globes from me. Commercial quality SDK for free. =)
(If this comment was disrespectful, please report it.)

 
9/5/2003 9:28:58 AMMartins Skujenieks

FX 2 library is under development!
If everything will go smooth -- it will be out late autumn!

Be ready to handle more power than you can imagine from GDI!

Keep an eye on FX 2 libary development:
http://www.exe.times.lv!

(If this comment was disrespectful, please report it.)

 
9/8/2003 8:00:24 AMTheRaven

Excellent
(If this comment was disrespectful, please report it.)

 
9/8/2003 4:02:05 PMPietro ing. Cecchi

Great!
Thanks for sharing... :)
***** from me
(If this comment was disrespectful, please report it.)

 
9/8/2003 5:32:31 PMTimothy OConnor

man this is really nice. Hey i have a question for you how much flexable is c++/c to vb, on a scale of 1 to 10, where 1 is really really really flexable(eg. asm) and 10 is not flexable. Please e-mail me at visual314@aol.com. Please!!!! Thank you.
(If this comment was disrespectful, please report it.)

 
9/9/2003 5:49:27 AMThushan Fernando

awesome stuff... very eye candy:D
(If this comment was disrespectful, please report it.)

 
9/27/2003 10:03:49 AMdevmakwana

i am not yet seen this module
(If this comment was disrespectful, please report it.)

 
12/7/2003 7:48:46 PMDeveloper 2105

The only purpose of having separate VB and C++ sections is to organize this site. Only vote on the quality of the code, not which section the author chose to put the code in.
(If this comment was disrespectful, please report it.)

 
1/11/2004 1:12:56 PMMartins Skujenieks

I told this before and will say once again:) Thank you all for your support, this is nice to see that there is someone out there that appreciate my work! Thank you very much!

During past 6 months I have been working on FX.DLL 2 - the next generation graphics library. Today I have finally completed 2/3 of the project and can proudly announce that if all the things will go smooth, the realease of the FX.DLL 2.00 SDK will be out there - on Planet-Source-Code - on February 1, 2004.

Please, visit for details:
http://www.exe.times.lv
(If this comment was disrespectful, please report it.)

 
3/8/2004 12:22:46 PM

F A N T A S T I C !
(If this comment was disrespectful, please report it.)

 
4/1/2004 8:05:32 PM

Awesome code. Makes life faster!!
(If this comment was disrespectful, please report it.)

 
5/21/2010 3:47:46 AMAchmad Junus

Totally Useful.
This is Awesome!
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.