[Lazarus] Tutorial: Animating desktop widgets
I've written up another short tutorial related to creating cross platform animated desktop widgets. This tutorial deals with vector graphics which can be used to scale animated widgets to any size. A video clip and walk through is located here: http://www.getlazarus.org/forums/viewtopic.php?f=18t=40 This is the location of my previous tutorial on animating with easings: http://www.getlazarus.org/forums/viewtopic.php?f=18t=39 -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
One link is in a private forums where I was discussing features with a user, here is the open link: https://www.youtube.com/watch?v=1iIeULCG4U4 -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
On Wed, Mar 25, 2015 at 10:28 AM, Graeme Geldenhuys mailingli...@geldenhuys.co.uk wrote: On 2015-03-25 13:17, Anthony Walter wrote: Cross Codebot is still in development. I need people to test it, and feedback, rather than general open to the public users. If I have learned anything in the past 15 years of working on open source software, it is the following: Make it as quick and easy as possible for others to test your open source work. Anything that resembles effort, and they walk aware and move on. Sad, but true. I'm such a case in point. Being a toolkit developer myself, I was curious to see your code, but got put off by the fact that it is not published. Don't ask me why, that's just how I am. If you is like me, that's because we have many things to do at day (working on projects, management tasks, reports and so on), ie, we have many others priorities. But if we see the code, just take a look, maybe something will arouse our interest. If yes, we can start contributing with this project -- or any other. As for your statement is still in development. I know how you feel (you want everything perfect before others can see it), but I can also add that I don't think there is ANY software that isn't still in development. :-) +1 Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
On 2015-03-25 13:17, Anthony Walter wrote: Cross Codebot is still in development. I need people to test it, and feedback, rather than general open to the public users. If I have learned anything in the past 15 years of working on open source software, it is the following: Make it as quick and easy as possible for others to test your open source work. Anything that resembles effort, and they walk aware and move on. Sad, but true. I'm such a case in point. Being a toolkit developer myself, I was curious to see your code, but got put off by the fact that it is not published. Don't ask me why, that's just how I am. As for your statement is still in development. I know how you feel (you want everything perfect before others can see it), but I can also add that I don't think there is ANY software that isn't still in development. :-) Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
I had a popular free and open library more than 10 years ago which required no registration. I receive little to no community feedback for it. This time I'm getting a lot of people talking to me in private message and they're actually asking questions in the forums. I'll keep it this way for a while longer. Also, regarding yesterday's discussion of RGBAControls, I'd like to point out that a custom theme engine is baked into Cross Codebot and all its controls. When you one of a Cross Codebot controls on a form, you'll see it has a theme name (string) property, which contains a drop down list of registered themes. Changing the theme property on a control changes its look. Changing the theme on a container control, like TRenderForm or TSizingPanel, can change the theme of all child controls (if they didn't specificly already choose a theme name). You can quickly change themes at runtime and it's easy to write and register your own custom themes. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
Cross Codebot is still in development. I need people to test it, and feedback, rather than general open to the public users. For this tutorial I added an refresh rate sync timer and vector math geometry units, for the last one I added in the animation easing library, for the one before that I enhanced the bitmap copy backends. If people someone is interested enough to reply ask for access, then I'm happy to give them a git account and see them on the forums to discuss questions or improvements. Otherwise they can just wait for a wider more public release. And jsut for everyone's information, Cross Codebot contains a lot more than just the hardware graphics backend. it contains a totally new custom socket library, http client, ftp, web storage (s3, google drive, azure), several really nice from scratch controls, such as a fast virtual grid control and virtual lsit control: http://www.getlazarus.org/forums/viewtopic.php?f=19t=33 New color pickers, new imafe lists, new sliders, new control containers. It's a port of my prteviously open Codebot library which was located here, but taken down after I sold some custom code to a French company: http://www.codebot.org/delphi/ Custom code which was sold off: http://www.codebot.org/shell/ Since then the Library has grown to over 180 controls which I am slowly porting to Lazarus and the ISurface graphics library. Controls like the step picker: http://www.codebot.org/delphi/?doc=9531 Or the color controls: http://www.codebot.org/delphi/?doc=9524 (already ported) I still have 150 controls left to port, all of them unique and interesting ( http://www.codebot.org/delphi/?doc=9556). But at this point, if I only want users who care enough to request access and might give feedback, rather than general public users who aren't following along with development and might complain bombard me about feature x not working or missing. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
On Wed, Mar 25, 2015 at 6:16 AM, Graeme Geldenhuys mailingli...@geldenhuys.co.uk wrote: On 2015-03-25 08:31, Anthony Walter wrote: I've written up another short tutorial related to creating cross platform animated desktop widgets. Your tutorials are very interesting, but why give repository read access on a per-request basis? Why not simply publish (or mirror) it on a public system like Github or SourceForge? +1 Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
On Wed, Mar 25, 2015 at 10:38 AM, Anthony Walter sys...@gmail.com wrote: I had a popular free and open library more than 10 years ago which required no registration. I receive little to no community feedback for it. This time I'm getting a lot of people talking to me in private message and they're actually asking questions in the forums. I'll keep it this way for a while longer. When you posted about Bare.Game I sent a private mail to you but you not answered. :) Ok, I will send a private mail to get my account to your private repo to Codebot. ... Regards, Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
Also, regarding yesterday's discussion of RGBAControls, I'd like to point out that a custom theme engine is baked into Cross Codebot and all its controls. When you one of a Cross Codebot controls on a form, you'll see it has a theme name (string) property, which contains a drop down list of registered themes. Changing the theme property on a control changes its look. Changing the theme on a container control, like TRenderForm or TSizingPanel, can change the theme of all child controls (if they didn't specificly already choose a theme name). You can quickly change themes at runtime and it's easy to write and register your own custom themes. BGRAControls is correct and I will be glad to hear from you that its possible to make new genre styles with your library or not?Yr demos are beautiful but are they made for such this work? Please tell me what you think in continue of my question in mail list. Regards, Ara -- http://www.fastmail.com - A fast, anti-spam email service. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
So in your library I can make interface like this: https://dribbble.com/shots/1315388-Dashboard-Web-App-Product-UI-Design-Job-Summary/attachments/184703 Ara -- http://www.fastmail.com - Or how I learned to stop worrying and love email again -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
The styles are defined by an abstract class in the Codebot.Graphics unit called TTheme. To define you own styles, inherit from this class and override its methods. To install a theme that the designer will pickup, create a package, reference the codebot package, and call ThemeRegisiter(TYourThemeClass) in your packages register procedure. Since themes can change at runtime, you also need to include your package and the ThemeRegisiter invocation in your programs which want to use TYourThemeClass. Once TYourThemeClass is registered it will appear in the list of theme names on Cross Codebot controls. Please note, not all controls expose the ThemeName property. This is because it doesn't make sense for controls like a hue picker or render box to have a theme. Themes are reserved for UI widgets like TSlideBar, THeaderBar, TThinButton and such. Be aware as I port over more controls I may extend the base TTheme class, thus necessitating theme implementors to add to their custom theme classes as well. Here is a an example: http://codebot.org/snapshops/theme_default.jpg http://codebot.org/snapshops/theme_redmond.jpg -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
Take a look at BGRA canvas2D it may interesting for you. Ara -- http://www.fastmail.com - The way an email service should be -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
On Wed, Mar 25, 2015 at 2:37 PM, Anthony Walter sys...@gmail.com wrote: The port is from this libary which was taken offline: http://www.codebot.org/delphi/ Since the time of it's last update it contained nearly 180 controls, privately. This includes a set of new control designers, new toolbar system, new color controls, a huge array of button/edit/popup forms and controls, database layout controls and database custom controls. Really it's ton of stuff which was/is rotting away. This year I decide I rather than wasting a decade of work and forgetting about it, I ought to at least make an effort to open it up as a new project (minus the parts I've sold to third parties). Good decision. Marcos Douglas -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Tutorial: Animating desktop widgets
I've updated the original article with a video capture of the widget running using the same code on Linux. I didn't test this particular project on Linux previous to this my original post. I copied over the project, built it without modifying a thing, and it just worked. See for yourself in the video at the project page (the 2nd video was captured on Linux). http://www.getlazarus.org/forums/viewtopic.php?f=18t=40 A note on my Linux computer, it's a 2007 laptop (that's old) with a Core 2 Duo T9800 CPU, GeForce 8600M GT video card, and 4GB of RAM. It's running Ubuntu 14.04 64bit. Hopefully this gives you people some perspective on hardware/performance. Also, the screen capture imposes some limits on performance when running overlay windows, but you'd never know that judging by the video capture I posted. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus