[Lazarus] Tutorial: Animating desktop widgets

2015-03-25 Thread Anthony Walter
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

2015-03-25 Thread Anthony Walter
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

2015-03-25 Thread Marcos Douglas
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

2015-03-25 Thread Graeme Geldenhuys
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

2015-03-25 Thread Anthony Walter
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

2015-03-25 Thread Anthony Walter
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

2015-03-25 Thread Marcos Douglas
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

2015-03-25 Thread Marcos Douglas
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

2015-03-25 Thread aradeonas

 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

2015-03-25 Thread aradeonas
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

2015-03-25 Thread Anthony Walter
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

2015-03-25 Thread aradeonas
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

2015-03-25 Thread Marcos Douglas
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

2015-03-25 Thread Anthony Walter
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