[chronojump] Improvements on chronojumpLogo animation
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Improvements on chronojumpLogo animation
- Date: Wed, 4 Mar 2020 16:37:59 +0000 (UTC)
commit 9abc5b802b02df95db6751a354944a748358ace7
Author: Xavier de Blas <xaviblas gmail com>
Date: Wed Mar 4 17:37:31 2020 +0100
Improvements on chronojumpLogo animation
glade/app1.glade | 30 ++++++++++++++++-----------
src/gui/app1/chronojumpLogo.cs | 46 +++++++++++++++++++++++++++++++-----------
2 files changed, 52 insertions(+), 24 deletions(-)
---
diff --git a/glade/app1.glade b/glade/app1.glade
index 260c6b7b..d3b5b87d 100644
--- a/glade/app1.glade
+++ b/glade/app1.glade
@@ -23306,6 +23306,9 @@ Concentric</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -25601,6 +25604,18 @@ Concentric</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
+ <widget class="GtkLabel"
id="label_video_encoder_tests_will_be_filmed">
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Tests
will be filmed</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkHBox"
id="hbox_video_encoder_capturing">
<property name="can_focus">False</property>
<property name="spacing">4</property>
@@ -25637,18 +25652,6 @@ Concentric</property>
</packing>
</child>
<child>
- <widget class="GtkLabel"
id="label_video_encoder_tests_will_be_filmed">
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Tests
will be filmed</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
<widget class="GtkHBox"
id="hbox_video_encoder_no_capturing">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -33016,6 +33019,9 @@ then click this button.</property>
<child>
<placeholder/>
</child>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
diff --git a/src/gui/app1/chronojumpLogo.cs b/src/gui/app1/chronojumpLogo.cs
index 07359885..e9ac3b42 100644
--- a/src/gui/app1/chronojumpLogo.cs
+++ b/src/gui/app1/chronojumpLogo.cs
@@ -21,28 +21,43 @@
using Gtk;
using Cairo;
using System;
+using System.Diagnostics; //Stopwatch
+
//code based on puff
//http://zetcode.com/gui/gtksharp/drawingII/
+//TODO: move all this to an specific class
+//excepte the exposes event: that will construct the thing
public partial class ChronoJumpWindow
{
private bool timer_chronojump_logo = true;
private double alpha_chronojump_logo = 1.0;
private double size_chronojump_logo = 1.0;
+ Stopwatch sw_chronojump_logo_pause_at_end;
void reset_chronojump_logo()
{
timer_chronojump_logo = true;
alpha_chronojump_logo = 1.0;
size_chronojump_logo = 1.0;
+ sw_chronojump_logo_pause_at_end = new Stopwatch();
+
+
+ viewport_chronojump_logo.Visible = false;
+ drawingarea_chronojump_logo.Visible = true;
}
bool OnTimer_chronojump_logo()
{
if (! timer_chronojump_logo)
+ {
+ drawingarea_chronojump_logo.Visible = false;
+ viewport_chronojump_logo.Visible = true;
+
return false;
+ }
drawingarea_chronojump_logo.QueueDraw();
return true;
@@ -62,29 +77,36 @@ public partial class ChronoJumpWindow
//cr.SelectFontFace("Courier", FontSlant.Normal, FontWeight.Bold);
cr.SelectFontFace("Ubuntu", FontSlant.Normal, FontWeight.Bold);
+ if (size_chronojump_logo > 20)
+ alpha_chronojump_logo -= 0.01;
+ if (alpha_chronojump_logo <= 0)
+ sw_chronojump_logo_pause_at_end.Start();
+ if (sw_chronojump_logo_pause_at_end.Elapsed.TotalMilliseconds >= 100)
+ timer_chronojump_logo = false;
+
size_chronojump_logo += 0.8;
- if (size_chronojump_logo > 20) {
- alpha_chronojump_logo -= 0.01;
- }
+ chronojumpLogo_showChronojump (cr, x, y);
+
+ ((IDisposable) cr.Target).Dispose();
+ ((IDisposable) cr).Dispose();
+ }
+
+ private void chronojumpLogo_showChronojump (Cairo.Context cr, int x, int y)
+ {
cr.SetFontSize(size_chronojump_logo);
cr.SetSourceRGB(1, 1, 1);
- string message = "Chronojump";
+ string message = "CHRONOJUMP - 2.0";
TextExtents extents = cr.TextExtents(message);
- cr.MoveTo(x - extents.Width/2, y + extents.Height/4);
+ cr.MoveTo(x - extents.Width/2, y + extents.Height/2);
cr.TextPath(message);
cr.Clip();
cr.Stroke();
cr.PaintWithAlpha(alpha_chronojump_logo);
+ //cr.Paint();
+ }
- if (alpha_chronojump_logo <= 0) {
- timer_chronojump_logo = false;
- }
-
- ((IDisposable) cr.Target).Dispose();
- ((IDisposable) cr).Dispose();
- }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]