def __init__(self):
        self.stage = Clutter.Stage()
        self.stage.set_title('Clutter example')
        self.stage.set_background_color(Clutter.color_from_string('#BBB')[1])
        self.stage.set_size(300.0, 300.0)

        self.actor = Clutter.Actor()
        self.actor.set_background_color(
            Clutter.color_from_string('#DA0060')[1])
        self.actor.set_position(75.0, 75.0)
        self.actor.set_size(150.0, 150.0)
        self.actor.set_pivot_point(0.5, 0.5)

        self.rotation = Clutter.PropertyTransition(
            property_name='rotation-angle-z')
        self.rotation.set_animatable(self.actor)
        self.rotation.set_duration(5000)
        self.rotation.set_from(0.0)
        self.rotation.set_to(360.0)
        self.rotation.set_repeat_count(-1)
        self.rotation.start()

        text = Clutter.Text.new_full('Arial Black 12', 'Click me!',
                                     Clutter.color_from_string('black')[1])
        self.actor.add_child(text)

        self.stage.add_child(self.actor)
        self.stage.show()
        self.actor.set_reactive(True)

        self.stage.set_user_resizable(True)
        self.actor.connect('button-press-event', self.color_actor)
        self.stage.connect('key-press-event', self.on_key_press)
        self.stage.connect('destroy', lambda *_: Clutter.main_quit())
    def __init__(self):
        self.stage = Clutter.Stage()
        self.stage.set_title('Clutter example')
        self.stage.set_background_color(Clutter.color_from_string('#BBB')[1])
        self.stage.set_size(300.0, 300.0)

        self.actor = Clutter.Actor()
        self.actor.set_background_color(Clutter.color_from_string('#DA0060')[1])
        self.actor.set_position(75.0, 75.0)
        self.actor.set_size(150.0, 150.0)
        self.actor.set_pivot_point(0.5, 0.5)

        self.rotation = Clutter.PropertyTransition(property_name='rotation-angle-z')
        self.rotation.set_animatable(self.actor)
        self.rotation.set_duration(5000)
        self.rotation.set_from(0.0)
        self.rotation.set_to(360.0)
        self.rotation.set_repeat_count(-1)
        self.rotation.start()

        text = Clutter.Text.new_full('Arial Black 12', 'Click me!', Clutter.color_from_string('black')[1])
        self.actor.add_child(text)

        self.stage.add_child(self.actor)
        self.stage.show()
        self.actor.set_reactive(True)

        self.stage.set_user_resizable(True)
        self.actor.connect('button-press-event', self.color_actor)
        self.stage.connect('key-press-event', self.on_key_press)
        self.stage.connect('destroy', lambda *_: Clutter.main_quit())
Пример #3
0
 def __init__(self,
              width,
              height,
              arc,
              step,
              color=None,
              border_color=None,
              border_width=0):
     """
 Creates a new rounded rectangle
 """
     super(RoundedRectangle, self).__init__()
     self._width = width
     self._height = height
     self._arc = arc
     self._step = step
     if color:
         self._color = color
     else:
         self._color = Clutter.color_from_string("#000")
     if border_color:
         self._border_color = border_color
     else:
         self._border_color = Clutter.color_from_string("#000")
     self._border_width = border_width
Пример #4
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.embed = GtkClutter.Embed()
        self.mainActor = self.embed.get_stage()

        self.videoPlayback = ClutterGst.Playback()
        self.videoContent = ClutterGst.Content()
        self.videoPlayback.set_seek_flags(ClutterGst.SeekFlags.ACCURATE)

        self.videoContent.set_player(self.videoPlayback)
        self.videoPlayback.connect("notify::progress", rewind_progress)

        self.set_startup_id('Oboi')
        self.set_type_hint(Gdk.WindowTypeHint.DESKTOP)
        self.set_skip_pager_hint(True)
        self.set_skip_taskbar_hint(True)
        self.set_accept_focus(True)
        self.stick()
        self.set_resizable(False)
        self.set_keep_below(True)
        self.set_decorated(False)

        self.drag_dest_set(Gtk.DestDefaults.MOTION | Gtk.DestDefaults.DROP,
                           None, Gdk.DragAction.MOVE)

        self.add_events(Gdk.EventMask.ENTER_NOTIFY_MASK
                        | Gdk.EventMask.POINTER_MOTION_MASK
                        | Gdk.EventMask.SMOOTH_SCROLL_MASK)

        self.mainActor.set_background_color(
            Clutter.color_from_string("#000")[1])
        self.wallpaperActor = Clutter.Actor()

        self.videoPath = "file:///home/qwerty/Downloads/videoplayback.mp4"
        self.videoPlayback.set_uri(self.videoPath)
        print("Video path:", self.videoPlayback.get_uri())
        self.videoPlayback.set_playing(True)
        print("Is paying:", self.videoPlayback.get_playing())
        self.wallpaperActor.set_content(self.videoContent)
        # size = get_desktop_size()

        self.wallpaperActor.set_pivot_point(0.5, 0.5)
        self.wallpaperActor.scale_y = 1
        self.wallpaperActor.scale_x = 1

        self.mainActor.add_child(self.wallpaperActor)
        self.add(self.embed)
Пример #5
0
from gi.repository import Clutter, GtkClutter, Rsvg
import cairo

color = lambda string: Clutter.color_from_string(string)[1]  # shortcut

class XYButton(GtkClutter.Embed):
    imagename = "control_xy.png"
    def __init__(self):
        GtkClutter.Embed.__init__(self)
        actor = self.get_stage()
        red = Clutter.Color.get_static(Clutter.StaticColor.RED)
        actor.set_background_color(color('pink'))
        self.canvas = Clutter.Canvas()
        actor.set_content(self.canvas)

        actor.connect("motion-event", self.on_motion)
        actor.connect("button-press-event", self.on_press)
        self.canvas.set_size(*actor.get_size())
        self.canvas.connect('draw', self.on_draw)

    def on_motion(self, widget, event):
        self.point = event.x, event.y
        self.canvas.invalidate()

    def on_press(self, widget, event):
        print (event.x, event.y)

    def on_draw(self, canvas, ctx, width, height):
        # clear the previous frame
        ctx.set_operator(cairo.OPERATOR_CLEAR)
        ctx.paint()
Пример #6
0

def handle_destroy(actor):
    print("INFO:destroy:WhyDear-OkOk:{}".format(actor))
    Clutter.main_quit()


def handle_lb_itemclick(actor, event):
    aID = actor.get_id()
    print(actor, event, aID)
    return Clutter.EVENT_STOP


# Create the stage
stage = Clutter.Stage()
stage.set_background_color(Clutter.color_from_string("Black")[1])
stageBgndImage = cg.create_image("Background.png")
stage.set_content(stageBgndImage)
stage.set_size(800, 600)
stage.set_title("Hello World 7")

# Create children and connect event handlers
label = cg.create_label("Hello again 007", 400, 20)
stage.add_child(label)

imgBtn1 = cg.create_button(132,
                           450,
                           300,
                           100,
                           imageFile="image1.png",
                           iD="ibtn1")
Пример #7
0
#!/usr/bin/env python
from gi.repository import Clutter, GLib
import cairo
import math
import numpy as np

import threading
import time 
import random

color = lambda string: Clutter.color_from_string(string)[1]  # shortcut

class Temperature():
    def __init__(self, name, color):
        self.color = color#1.0, 0.0, 0.0
        self.name = name
        self.line_width = 3
        self.values = []
        self.times = []
        self.cutoff_time = 30*60 #30 minutes

    def add_point(self, time, value):
        self.values.append(value)
        self.times.append(time)
        if len(self.times) > 10:
            self.times.pop(0)
            self.values.pop(0)

    def get_start_time(self):
        if len(self.times) == 0:
            return 0
Пример #8
0
from gi.repository import Clutter as clutter

stage = clutter.Stage()
stage.set_size(400, 400)

label = clutter.Text()
label.set_editable(False)
label.set_text("Clutter Label Text")
label.set_color(clutter.color_from_string("brown"))
# If no position is given it defaults to the upper most left corner.

stage.add(label)
stage.show_all()
stage.connect('destroy', clutter.main_quit)

clutter.main()
Пример #9
0
        self.queue_redraw()

    def get_border_width(self):
        return self._border_width

    def set_border_width(self, width):
        self._border_width = width
        self.queue_redraw()

    def get_border_color(color):
        return self._border_color

    def set_border_color(self, color):
        self._border_color = color
        self.queue_redraw()


Clutter.init(None)
stage = Clutter.Stage()
stage.set_size(400, 400)
rect = RoundedRectangle(200, 200, 5, 0.1)
rect.set_color(Clutter.color_from_string("#123"))
rect.set_border_width(5)
rect.set_position(12, 12)
stage.add_actor(rect)
#show everything in the stage
stage.show_all()
stage.connect("destroy", Clutter.main_quit)
#main Clutter loop
Clutter.main()