Hi all,

This is AniGIF, a custom made control that supports both simple and animated gif's. It supports two custom styles WAGS_AUTOSIZE and WAGS_HYPERLINK and four custom messages WAGM_LOADGIFFROMFILE, WAGM_LOADGIFFROMRESOURCE, WAGM_UNLOADGIF, WAGM_SETHYPERLINK

Feedback is greatly appreciated

Enjoy,

Antonis

EDIT (Nov 20, 2004-14 dl): New upload
Posted on 2004-11-17 04:43:42 by akyprian
Hi

Nice control.
Will you share the code for the dll?

KetilO
Posted on 2004-11-17 05:22:32 by KetilO
Thanks a lot KetilO,

I will share the source when I am fully done.

Regards,

Antonis
Posted on 2004-11-17 05:29:22 by akyprian
Hi,

New upload. What's new:

-Several size and speed optimizations. Considerable loading speed increase for big files

-Fixed a bug where GPFed for certain GIF's.

-New message supported WAGM_ZOOM: wParam:N/A, lParam:TRUE (Zoom In by 10%) / FALSE(Zoom Out by 10%)
(Press F3 to ZoomIn / F4 to ZoomOut)

-New window Style :WAGS_CENTER

Regards,

Antonis
Posted on 2004-11-20 09:57:30 by akyprian
Hi,

A little be delayed due to the problems of the board:

Version 1.0.2.xx, several improvements, uploaded to the downloads section of my site together with the control's source code

Regards,

Antonis
Posted on 2004-11-29 02:21:33 by akyprian
really nicely done!

finally someone has come up with an asm implementation since the patents have gone. thought about doing it myself using a similar approach but lazyness made my plans vanish. it's good to see that someone has actually done it!

ive ran across some errors though. some animated gifs arent properly displayed. it looks like previous frames arent cleared alright. maybe its a transperency issues. i will take a deeper look at the source code and try to see if i can help.

but nice work anyway!

regards,
enodev
Posted on 2004-12-02 05:39:57 by enodev
Hi,

Thanks a lot for your good words. It is true that this type of control was missing from the asm world. I'd really like to have your cooperation and ideas. Please feel free to change/suggest anything (posting gif's with problems including). I will upload your end result again and add it to the WinAsm Studio toolbox.

Please bear in mind that some problems you face MIGHT be due to the fact that DisposalMethod between 4-7 is NOT supported yet.

Regards,

Antonis
Posted on 2004-12-02 06:01:36 by akyprian
Akyprian,
Are you doing the GIF decoding yourself, or are you using the COM methods available in windows?

Also, it would be nice if you supplied enough files that one is able to build the example program oneself... :)

enodev,
there has been asm implementations for ages... scali wrote on ages ago, and I believe Thomas the madwizard had one too, which was pulled down because of the patent issues though. There was even 16bit assembly gif decoding back in the really old days :)
Posted on 2004-12-02 06:38:08 by f0dder
Hi,
ObjAsm32 has a GifDecoder and GifPlayer too and sources are available.

Biterider
Posted on 2004-12-02 06:42:11 by Biterider
Hi,

Are you doing the GIF decoding yourself, or are you using the COM methods available in windows?

Also, it would be nice if you supplied enough files that one is able to build the example program oneself...


-As already posted, FULL source is available from my site.



Antonis
Posted on 2004-12-02 07:10:44 by akyprian
Sorry, didn't see that post - I was still looking at the old attachment from the board :oops:

Pretty interesting way of doing things, I must say :) - and nice to see you're not doing double free of the memory.
Posted on 2004-12-02 07:23:33 by f0dder
...and nice to see you're not doing double free of the memory


You have pointed this out so many times... :lol: I couldn't have forgot it!

Antonis
Posted on 2004-12-02 07:39:18 by akyprian
hi akyprian,

thanks for pointing out the not supported disposalmethods. that was in fact the source of error.
i've put up a little banner test page to show the faulty animated gifs.

are you going to add support for the missing kinds of disposalmethods? i think i should take another look at the gif specs to remember what this was all about and then examine the anigif source more thoroughly to see how much it would take to extend anigif to full support. maybe i can contribute a bit.


regards,
enodev
Posted on 2004-12-02 08:05:52 by enodev
f0dder,

like you said, there are gif libs around *for ages* and some have even already disappeared ages ago.
i was happy to see some new work now that there are no patents restrictions left. and since this is a custom control it is all easy to use for almost everyone, which i also wanted to emphasise.

regards,
enodev
Posted on 2004-12-02 08:25:15 by enodev
are you going to add support for the missing kinds of disposalmethods


Have a look how i handle the rest of the disposalmethods in AniGIFControlProc. We can support all of them.

Antonis
Posted on 2004-12-02 08:51:02 by akyprian
hi,

i was finally able to take a deeper look at the gif specs and your asm. contrary to what i've posted before everything is alright with the disposal methods except maybe the restore to previous part. the specs recommend restoring to background if restore to previous is not implemented. but that seemed to me just a minor issue.

a major issue is handling 87a gifs. you don't seem to make any differencies between 89a's and 87a's - correct me if i'm wrong. you parse the graphic control extension which is non-existent in 87a's, thus giving 87a gifs transperency where there is none. iirc the 87a specs didn't even mention transparent images. but i might as well have read over that :)

unfortunately i still wasnt able to figure out what's wrong with the 89a's transperency issues. i haven't looked at the TransBlt function in detail yet. everything else looked alright.

i just wanted to give you a quick update of my research ;)
hope it was of any help to you.


cheers,
enodev
Posted on 2004-12-12 08:13:46 by enodev
Hi,

i was finally able to take a deeper look at the gif specs and your asm. contrary to what i've posted before everything is alright with the disposal methods except maybe the restore to previous part. the specs recommend restoring to background if restore to previous is not implemented. but that seemed to me just a minor issue.


Agree

a major issue is handling 87a gifs. you don't seem to make any differencies between 89a's and 87a's - correct me if i'm wrong. you parse the graphic control extension which is non-existent in 87a's, thus giving 87a gifs transperency where there is none. iirc the 87a specs didn't even mention transparent images. but i might as well have read over that :)


It's true, I don't distinguish 87a's and 89a'a. On the other hand, only the last of the four Gif files you uploaded is 87a. Probably the problem is not here.

I would dare to say that the problem is not in TransBlt either because it works for so many gif's.

Thanks a lot for your assistance. Looking forward for your next findings,

Antonis
Posted on 2004-12-13 03:54:44 by akyprian
how to download?
Posted on 2005-03-13 01:51:20 by AoGo
http://www.winasm.net
Posted on 2005-03-13 03:04:20 by akyprian
thanks!
Posted on 2005-03-13 05:22:38 by AoGo