def __init__(self, **kwargs): self._value = 0. super().__init__(**kwargs) self.value = kwargs.get("value", self.value) self.max = kwargs.get("max", self.max) self.min = kwargs.get("min", self.min) with self.canvas.before: self._bg_color = Color(rgba=self.bg_color) self.bg_rect = RoundedRectangle(pos=[self.x, self.center_y - 12], radius=self.radius, size=[self.width, self.size_y]) self._bar_color = Color(rgba=self.bar_color) self.bar_rect = RoundedRectangle( pos=[self.x, self.center_y - 12], radius=self.radius, size=[ self.width * (self.value / float(self.max)) if self.max else 0, self.size_y ]) self.bind(value=self.draw, width=self.draw, height=self.draw, bg_color=self.draw, bar_color=self.draw)
def __init__(self, **kwargs): super().__init__() # create card shape and background with self.canvas.before: Color(rgba=module_card_style["background_color"]) self.rect = RoundedRectangle(radius=module_card_style["radius"]) self.bind(pos=self.update_rect, size=self.update_rect) # access the screen manager via kwargs and set it to variable 'sm' self.sm = kwargs['screen_manager'] # set 'selected_user' to the current user via kwargs self.selected_user = kwargs["user"] # module self.module = kwargs["module"] # module labels self.module_id = self.generateCardLabel( 'Module ' + str(self.module.get("id") + 1), module_card_style["module_font"], module_card_style["id_y"]) self.module_title = self.generateCardLabel( self.module.get("title"), module_card_style["module_font"], module_card_style["title_y"]) # add widgets (all labels, buttons, etc) to the screen self.add_widget(self.preview()) self.add_widget(self.module_id) self.add_widget(self.module_title) self.add_widget(self.playButton())
def update_canvas(self, *args): self.canvas.clear() with self.canvas: RoundedRectangle(pos = (self.x + 20, self.y + 20), size = (self.width / 2, self.height / 3), radius = [self.width / 10])
def inactivate(self): """inactivate """ self.active = False with self.canvas.before: Color(rgb=get_color_from_hex("#ffffb0")) RoundedRectangle(pos=self.pos, size=self.size)
def CreateBackground(self, color=[1,1,1,1], force=False): if force or self.back_color != color: self.back_color = color self.canvas.before.clear() with self.canvas.before: Color(color[0], color[1], color[2], color[3]) self.background = RoundedRectangle(size=self.size, pos=self.pos)
def on_pos(self, *args): del args self.pos = set_position(self.parent.width, self.parent.height, self.width, self.height, self.config['x'], self.config['y'], self.config['anchor_x'], self.config['anchor_y'], self.config['adjust_top'], self.config['adjust_right'], self.config['adjust_bottom'], self.config['adjust_left']) with self.canvas: Color(*self.config['color']) if self.config['corner_radius']: RoundedRectangle(pos=self.pos, size=self.size, radius=(self.config['corner_radius'], self.config['corner_radius']), segments=self.config['corner_segments']) else: KivyRectangle(pos=self.pos, size=self.size)
def adjust_size(self, *args): (par_x, par_y) = self.parent.size if par_x == 0 or par_y == 0: with self.canvas: self.canvas.clear() return par_scale = par_x / par_y (img_x, img_y) = self.image.texture.size img_scale = img_x / img_y if par_scale > img_scale: (img_x_new, img_y_new) = (img_x, img_x / par_scale) else: (img_x_new, img_y_new) = (img_y * par_scale, img_y) crop_pos_x = (img_x - img_x_new) / 2 crop_pos_y = (img_y - img_y_new) / 2 subtexture = self.image.texture.get_region(crop_pos_x, crop_pos_y, img_x_new, img_y_new) with self.canvas: self.canvas.clear() Color(1, 1, 1) RoundedRectangle(texture=subtexture, pos=self.pos, size=(par_x, par_y))
def update_stages_list(self, delta_time=None): if self.current_stage == Stage.BLURRING_HEATUP: index = self.current_level * 2 elif self.current_stage == Stage.BLURRING_BREWING: index = self.current_level * 2 + 1 elif self.current_stage == Stage.DESUGARIZATION: index = len(self.blurring_config) * 2 elif self.current_stage == Stage.BOILING_HEATING: index = len(self.blurring_config) * 2 +\ self.current_level + 1 elif self.current_stage == Stage.BOILING: index = len(self.blurring_config) * 2 +\ self.current_level + 2 index = len(self.ids.stages_list.children) - index - 1 for i, w in enumerate(self.ids.stages_list.children): dark_blue = (.21, .23, .35, 1) w.canvas.before.clear() if i == index: with w.canvas.before: Color(.21, .23, .35, 1) RoundedRectangle(pos=w.pos, size=(w.width * 0.97, w.height),\ radius=[(0,0),(20,20),(20,20),(0,0)]) w.color = (.51, .53, .65, 1) else: w.color = dark_blue
def __init__(self, **kwargs): super().__init__(**kwargs) with self.canvas.after: Color(rgb=get_color_from_hex('#150470')) self._rect = RoundedRectangle(size_hint=self.size_hint, size=self.size, radius=(dp(25), dp(25), dp(25), dp(25)))
def __init__(self, **kwargs): super().__init__(**kwargs) with self.canvas.before: Color(rgb=get_color_from_hex('#FFB2D1')) self._rect = RoundedRectangle(size_hint=self.size_hint, size=self.size, radius=(dp(15), dp(15), dp(15), dp(15)))
def imprimiralchatbox(self, texto): new_box = MDBoxLayout(size_hint=(0.8, None), orientation='horizontal', height=50, pos_hint={'x': 0.2}) new_box.add_widget(WidgetCreator.newlabel(texto, valign='middle', halign='right', size_hint=(1.0, None))) with new_box.canvas.before: Color(usermessagebubblecolor[0], usermessagebubblecolor[1], usermessagebubblecolor[2]) new_box.rect = RoundedRectangle(size=new_box.size, pos=new_box.pos, radius=[25, 0, 25, 25]) new_box.bind(pos=WidgetCreator.update_rect, size=WidgetCreator.update_rect) self.layout.chatbox.content.add_widget(new_box)
def create(self): with self.canvas.before: stencil_instructions.StencilPush() self.rect = RoundedRectangle(pos=self.pos, size_hint=(None, None), size=(dp(54), dp(54)), radius=(dp(27), dp(27), dp(27), dp(27))) stencil_instructions.StencilUse() with self.canvas.after: stencil_instructions.StencilUnUse() stencil_instructions.StencilPop()
def __init__(self, fecha, hora, pulso, temperatura, oxigeno, **kwargs): self.fecha = str(fecha) self.hora = str(hora) self.pulso = str(pulso) self.temperatura = str(temperatura) self.oxigeno = str(oxigeno) super().__init__() with self.canvas.before: Color(rgba=(0, .5, 1, .1)) self.rect = RoundedRectangle( radius=[(15.0, 15.0), (15.0, 15.0), (15.0, 15.0), (15.0, 15.0)]) self.bind(pos=self.update_rect, size=self.update_rect) #etiquetas del banner self.title_fecha = MDLabel(text=self.hora, pos_hint={ 'center_x': .36, 'center_y': .5 }, size_hint=(.2, .3), halign='left') self.title_hora = MDLabel(text=self.fecha, pos_hint={ 'center_x': .15, 'center_y': .5 }, size_hint=(.2, .3), halign='left') self.title_pulso = MDLabel(text=self.pulso, pos_hint={ 'center_x': .59, 'center_y': .5 }, size_hint=(.2, .3), halign='left') self.title_temperatura = MDLabel(text=self.temperatura, pos_hint={ 'center_x': .79, 'center_y': .5 }, size_hint=(.2, .3), halign='left') self.title_oxigeno = MDLabel(text=self.oxigeno, pos_hint={ 'center_x': .99, 'center_y': .5 }, size_hint=(.2, .3), halign='left') #agregar widget self.add_widget(self.title_fecha) self.add_widget(self.title_hora) self.add_widget(self.title_pulso) self.add_widget(self.title_temperatura) self.add_widget(self.title_oxigeno)
def __init__(self, **kwargs): super().__init__() with self.canvas.before: Color(rgba=(0, .4, 0, 0.1)) self.rect = RoundedRectangle( radius=[(40.0, 40.0), (40.0, 40.0), (40.0, 40.0), (40.0, 40.0)]) self.bind(pos=self.update_rect, size=self.update_rect)
def establecerfase(self, fase: Fase): self.layout.faselabel.text = fase.nombre new_box = MDBoxLayout(size_hint=(0.8, None), orientation='horizontal', height=50) new_box.add_widget(WidgetCreator.newlabel(fase.texto, size_hint=(1.0, None), valign='middle')) with new_box.canvas.before: Color(botmessagebubblecolor[0], botmessagebubblecolor[1], botmessagebubblecolor[2]) new_box.rect = RoundedRectangle(size=new_box.size, pos=new_box.pos, radius=[0, 25, 25, 25]) new_box.bind(pos=WidgetCreator.update_rect, size=WidgetCreator.update_rect) self.layout.chatbox.content.add_widget(new_box)
def load(self, obj): from kivy.graphics import RoundedRectangle with self.canvas: self.bg = RoundedRectangle( source = self.source, pos = self.pos, size = self.size, radius= self.radius )
def turn_down(self): """turn_down """ self.source = self.images_dir + self.__IMAGE_FACEDOWN self.face_down = True self.bgcolor = self.__BG_FACEDOWN with self.canvas.before: Color(rgb=get_color_from_hex(self.bgcolor)) RoundedRectangle(pos=self.pos, size=self.size)
def turn_up(self): """turn_up """ print("Card.turn_up", self.card_ind) self.source = self.images_dir + "font-awesome_4-7-0_" + self.name + "_48_0_333300_none.png" self.face_down = False self.bgcolor = self.__BG_FACEUP with self.canvas.before: Color(rgb=get_color_from_hex(self.bgcolor)) RoundedRectangle(pos=self.pos, size=self.size)
def on_press(self): with self.canvas.before: Color(1, 1, 1, .1) self.touched = RoundedRectangle(size=(self.size[0] + 30, self.size[1] + 30), pos=(self.pos[0] - 15, self.pos[1] - 15), radius=[ 400, ])
def __init__(self, **kwargs): super(ImageButtonSelectable, self).__init__(**kwargs) #Changing properties of the button with self.canvas.before: #Setting background color of the button self.canvas_color = Color(rgb=(kivy.utils.get_color_from_hex("#35477d"))) #Settings size of the button self.rect = RoundedRectangle(size=self.size, pos=self.pos, radius=[5,]) self.bind(pos=self.update_rect, size=self.update_rect) self.bind(state=self.update_color)
def lay_canvas_instructions(self): if self._no_ripple_effect: return with self.canvas.after: StencilPush() RoundedRectangle(pos=self.pos, size=self.size, radius = self.radius) StencilUse() self.col_instruction = Color(rgba=self.ripple_color) self.ellipse = Ellipse( size=(self._ripple_rad, self._ripple_rad), pos=( self.ripple_pos[0] - self._ripple_rad / 2.0, self.ripple_pos[1] - self._ripple_rad / 2.0, ), ) StencilUnUse() RoundedRectangle(pos=self.pos, size=self.size, radius = self.radius) StencilPop() self.bind(ripple_color=self._set_color, _ripple_rad=self._set_ellipse)
def _draw_spokes(self): """ Draw spokes of :class:`CupertinoActivityIndicator` """ self.canvas.clear() with self.canvas: for i in range(self.spokes): PushMatrix() Rotate(angle=i * (360 / self.spokes), origin=self.center) Color( r=self.color[0], g=self.color[1], b=self.color[2], a=self.color[3] - (((i + self._main_spoke) % self.spokes) * (self.color[3] / self.spokes)) ) rect = RoundedRectangle(radius=(self.width / 15,), size=(self.width / self.spokes, self.height / 4)) rect.pos = self.x + self.width / 2 - rect.size[0] / 2, self.y PopMatrix() self._main_spoke += 1
def if_active(self): if self.ids.ch_box.active: self.parent.selected_record = self with self.canvas.before: Color(1, 1, 1, 0.7) self.rec = RoundedRectangle(pos=(self.pos[0], self.pos[1] - 5), size=(self.size[0], self.size[1] + 10), radius=[20,]) if not self.ids.ch_box.active: self.parent.selected_record = None self.canvas.before.remove(self.rec)
def prepare(self): with self.canvas.before: stencil_instructions.StencilPush() RoundedRectangle(pos=(self.x + dp(5), self.y + dp(5)), size=(dp(100), dp(100)), size_hint=(None, None), radius=(dp(50), dp(50), dp(50), dp(50))) stencil_instructions.StencilUse() with self.canvas.after: stencil_instructions.StencilUnUse() stencil_instructions.StencilPop()
def redraw_canvas(self, *args): if self.current_highlighted_child: self.instruction_canvas.clear() self.instruction_canvas.add(Color(*self.highlighted_color)) if self.highlighted_shape =='rectangle': self.instruction_canvas.add(Rectangle(pos=self.current_highlighted_child.pos, size=self.current_highlighted_child.size)) elif self.highlighted_shape =='rounded_rectangle': self.instruction_canvas.add(RoundedRectangle(pos=self.current_highlighted_child.pos, size=self.current_highlighted_child.size)) else: raise Exception('Invalid highlighted shape {}'.format(self.highlighted_shape))
def __init__(self, **kwargs): super(Badge, self).__init__(**kwargs) self.size_hint = (None, None) self.pos_hint = (None, None) self.pos = (590, 10) self.size = (180, 30) with self.canvas.before: Color(1, 0.3, 0.3, 1) RoundedRectangle(pos=self.pos, size=self.size, radius=[(10, 10), (10, 10), (10, 10), (10, 10)])
def draw(self): with self.canvas: self.canvas.clear() # Draw no progress bar Color(.188, .209, .148) RoundedRectangle(pos=self.pos, size=self.size) Color(.5, 0, 0) if self.value > 0: var = 100.0 / self.value # Draw progress bar RoundedRectangle(pos=self.pos, size=(self.width / var, self.height)) # Center and draw the text Color(1, 1, 1, 1) RoundedRectangle(texture=self.label.texture, size=self.texture_size, pos=(self.size[0] / 2 - self.texture_size[0] / 2, self.size[1] / 2 - self.texture_size[1] / 2))
def __init__(self, **kwargs): super(ImageButtonSelectable, self).__init__(**kwargs) with self.canvas.before: self.canvas_color = Color( rgb=(kivy.utils.get_color_from_hex("#35477d"))) self.rect = RoundedRectangle(size=self.size, pos=self.pos, radius=[ 5, ]) self.bind(pos=self.update_rect, size=self.update_rect) self.bind(state=self.update_color)
def on_size(self, *args): """on_size """ if self.active: color = "#ffff00" else: color = "#ffffb0" with self.canvas.before: Color(rgb=get_color_from_hex(color)) RoundedRectangle(pos=self.pos, size=self.size) self.color = get_color_from_hex("#333300")
def update_color(self, *args): #Updating the state of the button print("self.canvas_Color: ", self.canvas_color.rgb) print("STATE IS ", self.state) print("self.canvas_Color: ", self.canvas_color.rgb) if self.state == 'normal': self.canvas_color = Color(rgb=(kivy.utils.get_color_from_hex("#35477d"))) else: self.canvas_color = Color(rgb=(kivy.utils.get_color_from_hex("#6C5B7B"))) with self.canvas.before: Color(rgb=self.canvas_color.rgba)#self.canvas_color = Color(rgb=(kivy.utils.get_color_from_hex("#FFFFFF"))) self.rect = RoundedRectangle(size=self.size, pos=self.pos, radius=[5,])