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())
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
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)
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()
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")
#!/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
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()
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()