def __init__(self, **kwargs): super(ChooseView, self).__init__(**kwargs) c1 = get_color_from_hex('#96be25aa') c2 = get_color_from_hex('#e6461faa') c3 = get_color_from_hex('#81cac8aa') c4 = get_color_from_hex('#7f398baa') cx, cy = Window.center m = 50 m2 = m * 2 with self.canvas: self.c1 = Color(*c1) BorderImage(texture=btnbg, pos=(m, m), size=(cx - m2, cy - m2)) self.c2 = Color(*c2) BorderImage(texture=btnbg, pos=(cx + m, m), size=(cx - m2, cy - m2)) self.c3 = Color(*c3) BorderImage(texture=btnbg, pos=(m, cy + m), size=(cx - m2, cy - m2)) self.c4 = Color(*c4) BorderImage(texture=btnbg, pos=(cx + m, cy + m), size=(cx - m2, cy - m2))
def build_canvas(self, canvas): places = [player['place'] for player in self.players.itervalues()] canvas.before.clear() with canvas.before: Color(1, 1, 1) cx, cy = Window.center m = 50 m2 = m * 2 if 1 in places: Color(*self.c1) BorderImage(texture=btnbg, pos=(m, m), size=(cx - m2, cy - m2), radius=15) if 2 in places: Color(*self.c2) BorderImage(texture=btnbg, pos=(cx + m, m), size=(cx - m2, cy - m2), radius=15) if 3 in places: Color(*self.c3) BorderImage(texture=btnbg, pos=(m, cy + m), size=(cx - m2, cy - m2), radius=15) if 4 in places: Color(*self.c4) BorderImage(texture=btnbg, pos=(cx + m, cy + m), size=(cx - m2, cy - m2), radius=15)
def __init__(self, **kwargs): self.ratio = Metrics.dpi / 100 self.texture_hard = Image('atlas://' + kivymd.images_path + 'el_c_shadows.atlas/h_shadow', mipmap=True).texture self.texture_soft = Image('atlas://' + kivymd.images_path + 'el_c:shadows.atlas/s_shadow', mipmap=True).texture super(ElevationBehaviour, self).__init__(**kwargs) self.b_soft = BorderImage(texture=self.texture_soft) self.b_hard = BorderImage(texture=self.texture_hard) with self.canvas.before: # StencilPush() # Ellipse(size=self.size, # pos=self.pos) # StencilUse() self._soft_col = Color(rgba=(1, 1, 1, .4)) self.border_soft = Ellipse(texture=self.b_soft.texture) self._hard_col = Color(rgba=(1, 1, 1, .16)) self.border_hard = Ellipse(texture=self.b_hard.texture) # StencilUnUse() # # StencilPop() self.bind(pos=self.update_shadow, size=self.update_shadow, elevation=self.update_shadow) Clock.schedule_once(self.update_shadow, 0)
def rebuild_background(self): self.canvas.before.clear() with self.canvas.before: Color(0xbb / 255., 0xad / 255., 0xa0 / 255.) BorderImage(pos=self.pos, size=self.size, source='data/round.png') Color(0xcc / 255., 0xc0 / 255., 0xb3 / 255.) csize = self.cube_size, self.cube_size for ix, iy in self.iterate_pos(): BorderImage(pos=self.index_to_pos(ix, iy), size=csize, source='data/round.png')
def __init__(self, **kwargs): self.uBackgroundPic = kwargs['background_pic'] self.uButtonPic = kwargs['button_pic'] self.oText = None super(cSliderEx, self).__init__(**RemoveNoClassArgs(kwargs, Slider)) self.register_event_type('on_slider_moved') self.uMoveType = u'' self.canvas.clear() if self.orientation == u'horizontal': fGap = (self.height - sp(32)) / 2 self.x = self.x + fGap self.fBackGroundSize = self.height / 4 - (fGap) * 2 tKnobPos = (self.value_pos[0] - (self.height / 2), self.value_pos[1]) tKnobSize = (self.height, self.height) self.oKnob = BorderImage(border=(0, 0, 0, 0), pos=tKnobPos, size=tKnobSize, source=self.uButtonPic) self.canvas.add(Color(1., 1., 1.)) self.oBorderImage = BorderImage( border=(0, 0, 0, 0), pos=(self.x, self.center_y - (self.fBackGroundSize / 2)), size=(self.width - fGap, self.fBackGroundSize), source=self.uBackgroundPic) self.canvas.add(self.oBorderImage) else: fGap = (self.width - sp(32)) / 2 self.y = self.y + fGap self.height = self.height - (fGap) * 2 self.fBackGroundSize = self.width / 4 tKnobPos = (self.value_pos[0], self.value_pos[1] - (self.width / 2)) tKnobSize = (self.width, self.width) self.oKnob = BorderImage(border=(0, 0, 0, 0), pos=tKnobPos, size=tKnobSize, source=self.uButtonPic) self.canvas.add(Color(1., 1., 1.)) self.oBorderImage = BorderImage( border=(0, 0, 0, 0), pos=(self.center_x - (self.fBackGroundSize / 2), self.y), size=(self.fBackGroundSize, self.height - fGap), source=self.uBackgroundPic) self.canvas.add(self.oBorderImage) self.canvas.add(self.oKnob) uText = kwargs.get('text') if uText: self.oText = Label(**RemoveNoClassArgs(kwargs, Label)) self.oText.pos = tKnobPos self.oText.size = tKnobSize self.add_widget(self.oText)
def draw_keys(self): layout = self.available_layouts[self.layout] layout_rows = layout['rows'] layout_geometry = self.layout_geometry layout_mode = self.layout_mode # draw background background = resource_find(self.background_disabled if self.disabled else self.background) texture = Image(background, mipmap=True).texture self.background_key_layer.clear() with self.background_key_layer: Color(*self.background_color) BorderImage(texture=texture, size=self.size, border=self.background_border) # XXX separate drawing the keys and the fonts to avoid # XXX reloading the texture each time # first draw keys without the font key_normal = resource_find(self.key_background_disabled_normal if self.disabled else self.key_background_normal) texture = Image(key_normal, mipmap=True).texture with self.background_key_layer: for line_nb in range(1, layout_rows + 1): for pos, size in layout_geometry['LINE_%d' % line_nb]: BorderImage(texture=texture, pos=pos, size=size, border=self.key_border) # then draw the text for line_nb in range(1, layout_rows + 1): key_nb = 0 for pos, size in layout_geometry['LINE_%d' % line_nb]: # retrieve the relative text fontName = self.chinese_font_name if line_nb == 5 and key_nb == 10: if self.chinese_input == 0: text = u'簡易' elif self.chinese_input == 1: text = u'倉頡' elif line_nb == 5 and key_nb == 9: text = layout[layout_mode + '_' + str(line_nb)][key_nb][0] else: text = layout[layout_mode + '_' + str(line_nb)][key_nb][0] if not self.have_chinese: fontName = self.font_name elif not text.isalpha(): fontName = self.font_name z = Label(text=text, font_size=self.font_size, pos=pos, size=size, font_name=fontName) #z = Label(text=text, font_size=self.font_size, pos=pos, size=size, font_name=self.font_name) self.add_widget(z) key_nb += 1
def resize(self, *args): self.cell_size = (0.25 * (min(self.width, self.height) - 5 * spacing), ) * 2 self.canvas.before.clear() with self.canvas.before: BorderImage(pos=self.pos, size=self.size, source='board.png') Color(*get_color_from_hex('CCC0B4')) for board_x, board_y in all_cells(): BorderImage(pos=self.cell_pos(board_x, board_y), size=self.cell_size, source='cell.png')
def draw_keys(self): layout = self.available_layouts[self.layout] layout_rows = layout['rows'] layout_geometry = self.layout_geometry layout_mode = self.layout_mode # draw background w, h = self.size background = resource_find( self.background_disabled if self.disabled else self.background) texture = Image(background, mipmap=True).texture self.background_key_layer.clear() with self.background_key_layer: Color(*self.background_color) BorderImage(texture=texture, size=self.size, border=self.background_border) # XXX seperate drawing the keys and the fonts to avoid # XXX reloading the texture each time # first draw keys without the font key_normal = resource_find(self.key_background_disabled_normal if self. disabled else self.key_background_normal) texture = Image(key_normal, mipmap=True).texture with self.background_key_layer: for line_nb in range(1, layout_rows + 1): for pos, size in layout_geometry['LINE_%d' % line_nb]: BorderImage(texture=texture, pos=pos, size=size, border=self.key_border) # then draw the text # calculate font_size font_size = int(w) / 46 # draw for line_nb in range(1, layout_rows + 1): key_nb = 0 for pos, size in layout_geometry['LINE_%d' % line_nb]: # retrieve the relative text text = layout[layout_mode + '_' + str(line_nb)][key_nb][0] l = Label(text=text, font_size=font_size, pos=pos, size=size, font_name=self.font_name) self.add_widget(l) key_nb += 1
def __init__(self): super(StartWindow, self).__init__() # background self.image = Image(source='background.jpg', allow_stretch=True, keep_ratio=False) self.add_widget(self.image) # text output self.output = LogOutput(size_hint=(1, 0.5), size=(self.width, self.height), pos_hint={'center_y': 0.65}) self.output.bind(size=self._update_rect, pos=self._update_rect) with self.output.canvas.before: #Color(0.3, 0.3, 0.3, 1) Color(0, 0, 1, 0.5) #self.rect = Rectangle(size=self.output.size, pos=self.output.pos) self.rect = BorderImage( source='output_background.png', pos=self.output.pos, size=self.output.size, ) self.add_widget(self.output) # action bar self.add_widget(TaskBar(self.output))
def rebuild_background(self): """Rebuilds the canvas background and the elements """ self.canvas.before.clear() with self.canvas.before: Color(*BLUE) BorderImage(pos=self.pos, size=self.size, source=os.path.join(PROJECT_PATH, 'assets/img/mask.png')) Color(*LIGHTER_BLUE) for ix, iy in self.iterate_pos(): BorderImage(pos=self.index_to_pos(ix, iy), size=(self.tile_size, self.tile_size), source=os.path.join(PROJECT_PATH, 'assets/img/mask.png'))
def __init__(self, **kwargs): super(MyApp,self).__init__(**kwargs) Window.size = (480, 640) with self.canvas: BorderImage(border=(10, 10, 10,10),source='time.jpg',size=(480,640)) global btn1 btn1 = ToggleButton(text=' START ', bold=True,group='state', size_hint=(.25,.022), pos=(190,380),border=(40,0,40,0)) btn1.bind(on_press=MyApp.start_timer) global btn2 btn2 = ToggleButton(text='LOG TASK', group='state', size_hint=(.25,.012), pos=(20,50),disabled=True,border=(20,0,20,0)) btn2.bind(on_press=MyApp.comment_pop) btn3 = Button(text='VIEW TIMESHEET',size_hint=(.29,.012),pos=(335,50), border=(20,0,20,0)) btn3.bind(on_press=MyApp.timesheet_pop) btn4 = Button(text='MAIL TIMESHEET', group='state', size_hint=(.29,.012), pos=(335,550),border=(20,0,20,0)) btn4.bind(on_press=MyApp.mail_pop) btn5 = Button(text='READ ME', group='state', size_hint=(.25,.012), pos=(20,550),border=(20,0,20,0)) btn5.bind(on_press=MyApp.readme_pop) global l1 l1 = Label (bold=True) self.add_widget(btn1) self.add_widget(btn2) self.add_widget(btn3) self.add_widget(btn4) self.add_widget(btn5) self.add_widget(l1)
def kindle(self): """ Praise the sun \[T]/ """ with self.canvas.before: Color(1, 1, 1) self.kindled = BorderImage(pos=(self.x - 2, self.y - 2), size=(self.width + 4, self.height + 4), texture=self.border_texture) self.fbind('pos', self._bind_border)
def on_press(self): ''' Handles the on_press of the paging buttons. ''' with self.canvas.before: BorderImage(source='icons/active_background.png', size=self.size, pos=self.pos)
def build_canvas(self, dt): # get 3 textures curdir = dirname(__file__) arrow_left = CoreImage(join(curdir, 'arrow_left.png')).texture arrow_middle = CoreImage(join(curdir, 'arrow_middle.png')).texture arrow_right = CoreImage(join(curdir, 'arrow_right.png')).texture self.canvas.before.clear() with self.canvas.before: cmax = ((self.date_end - self.date_start) / float(self.date_step)) x, y = self.pos w, h = self.size fh = 100 bh = 10 cy = y + h / 2 h = fh * 2 r = range(self.date_start, self.date_end, self.date_step) for index, cx in enumerate(r): alpha = (cx - self.date_start) / (float(self.date_end) - float(self.date_start)) # create background of arrow (part of) c = 0.9 - (0.4 * alpha) a = 1.0 - 0.4 * alpha Color(c, c, c, a) if index == 0: texture = arrow_left border = (2, 2, 2, 8) elif index == len(r) - 1: texture = arrow_right border = (2, 126, 2, 2) else: texture = arrow_middle border = (2, 0, 2, 0) BorderImage(pos=(x, cy - fh), size=(w/cmax, h), texture=texture, border=border) # create lines x = int(x) if index > 0: Color(1, 1, 1, .8) Line(points=[x, cy - fh - bh, x, cy + fh + bh]) # create label (333f43) label = CoreLabel(text=str(cx), font_size=14, font_name='fonts/DroidSans.ttf') label.refresh() Color(0x33/255., 0x3f/255., 0x43/255.) # trick to invert the label orientation tc = label.texture.tex_coords th, tw = label.texture.size tc = tc[-2:] + tc[0:-2] Rectangle(pos=(x + 5, cy - th / 2), size=(tw, th), texture=label.texture, tex_coords=tc) x += w / cmax
def redraw(self): self.opacity = 1 self.canvas.before.clear() with self.canvas.before: Color(*PINK) BorderImage(pos=self.pos, size=self.size, source=os.path.join(PROJECT_PATH, 'assets/img/mask.png'))
def resize(self, *args): self.cell_size = (.25 * (self.width - 5 * spacing), ) * 2 self.canvas.before.clear() with self.canvas.before: BorderImage(pos=self.pos, size=self.size, source='board.png') Color(*get_color_from_hex('ccc0b4')) for board_x, board_y in all_cells(): BorderImage(pos=self.cell_pos(board_x, board_y), size=self.cell_size, source='cell.png') if not self.b: return for board_x, board_y in all_cells(): tile = self.b[board_x][board_y] if tile: tile.resize(pos=self.cell_pos(board_x, board_y), size=self.cell_size)
def __init__(self, **kwargs): super(ImageButtonSelectable, self).__init__(**kwargs) with self.canvas.before: BorderImage( size=(self.width + 100, self.height + 100), pos=(self.x - 50, self.y - 50), border=(10, 10, 10, 10), ) self.canvas_border = BorderImage( rgb=(kivy.utils.get_color_from_hex("#ffffff"))) self.canvas_color = Color( rgb=(kivy.utils.get_color_from_hex("#111111"))) 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): self.canvas.before.clear() with self.canvas.before: # c = utils.get_color_from_hex(TV.primary) Color(0, 0, 1, .5) Rectangle(pos=self.pos, size=self.size) BorderImage(pos=(self.x, self.y + 1), size=(self.width, self.height - 2), border=(0, 0, 0, 50), Color=Table.primary_color)
def on_size(self, *args): self.canvas.before.clear() with self.canvas.before: # Color=TV.currentColor c = (0, 2, 0, 1) Color(0, 7, 0, .5) Rectangle(pos=self.pos, size=self.size) BorderImage(pos=(self.x, self.y + 1), size=(self.width, self.height - 2), border=(0, 0, 0, 50), Color=Table.secondary_color)
def setup_border(self): self.size_offset = 32 with self.canvas.after: self.border_img = BorderImage( source=BORDER_IMAGE, size=(self.width + self.size_offset, self.height + self.size_offset), pos=(self.x - self.size_offset / 2, self.y - self.size_offset / 2), autoscale="both", border=(28, 32, 32, 32)) self.bind(size=self._readjust_border, pos=self._readjust_border)
def rebuild_background(self): self.canvas.before.clear() with self.canvas.before: Color(230 / 255., 230 / 255., 230 / 255.) #BorderImage(pos=self.pos, size=self.size, source='data/round.png') #Color(60/255., 60/255., 60/255.) csize = self.cube_size, self.cube_size for ix, iy, child in self.iterate_grid(self.grid): BorderImage(pos=self.get_cube_pos(ix, iy), size=csize, source='data/square2.png')
def on_enter(self): global opp_bench_bench_on_hover opp_bench_bench_on_hover = self.name print(opp_bench_bench_on_hover) self.is_on_hover = True with self.canvas.after: BorderImage(source="Transparent_shadow32.png", pos=(self.x - self.width * 0.2, self.y - self.height * 0.2), size=(self.width * 1.35, self.height * 1.35), index=1000)
def __init__(self, *args, **kwargs): """ Gets called when a screen is created. inheriting objects should call super AFTER child gui elements are assigned. """ self.background = BorderImage(source='images/generic_background.png') #Sets self._on_resize to get called when Window.on_resize gets called. Window.bind(on_resize=self._on_resize) #Calls inherited classes __init__() function. super(Screen, self).__init__(*args, **kwargs)
def build(self): root = Widget() b = Button(center=(200, 200)) root.add_widget(b) with b.canvas.before: BorderImage( size=(b.width + 100, b.height + 100), pos=(b.x - 50, b.y - 50), border=(10, 10, 10, 10), #source='tex.png') source='redemptybox.png') return root
def refresh_active_keys_layer(self): self.active_keys_layer.clear() active_keys = self.active_keys layout_geometry = self.layout_geometry background = resource_find(self.key_background_down) texture = Image(background, mipmap=True).texture with self.active_keys_layer: Color(*self.key_background_color) for line_nb, index in active_keys.values(): pos, size = layout_geometry['LINE_%d' % line_nb][index] BorderImage(texture=texture, pos=pos, size=size, border=self.key_border)
def on_size(self, *args): self.canvas.before.clear() with self.canvas.before: # Color=TV.currentColor # text_size: self.size # print(Table.header_color)' print("header color:" + str(self.header_color)) print("header color:" + str(self.header_color[0])) Color(self.header_color[0], self.header_color[1], self.header_color[2], self.header_color[3]) Rectangle(pos=self.pos, size=self.size) BorderImage(pos=(self.x, self.y + 1), size=(self.width, self.height - 2), border=(0, 0, 0, 50), Color=header_color)
def __init__( self, root_widget: Widget, border_image_tex: Texture = None, # border_image_file: str = "../assets/assets/frame_2.png", border_tuple: Tuple[int, int, int, int] = (30, 30, 30, 30), orientation: str = "vertical", **kwargs): super(Menu, self).__init__(**kwargs) self.root_widget: Optional[Widget] = root_widget self.orientation = orientation self.size_hint = None, None # Menu Background with self.canvas: self.border = BorderImage(size=self.size, pos=self.pos, border=border_tuple, texture=border_image_tex)
def on_release(self): ''' Handles the on_release of the paging buttons. Note: If you want to add color to your button after adding the image. Use the following: `with self.canvas.before: Color(rgba = (238/255., 243/255., 246/255., 1)) Rectangle(pos=self.pos, size=(self.size))` ''' try: for i, instance in enumerate(RectShadowButton.instances): if instance.text == 'Ant.': with self.prev_node.canvas.before: BorderImage(source='icons/active_background.png', size=self.prev_node.size, pos=self.prev_node.pos) if instance.text == 'Sig.': pass if instance.text in ['Ant.', 'Sig.']: with self.canvas.before: BorderImage(source='icons/before_background.png', size=self.size, pos=self.pos) else: with instance.canvas.before: BorderImage(source='icons/number_background.png', size=instance.size, pos=instance.pos) if not self.text in ['Ant.', 'Sig.']: with self.canvas.before: BorderImage(source='icons/active_background.png', size=self.size, pos=self.pos) except: if self.text in ['Ant.', 'Sig.']: with self.canvas.before: BorderImage(source='icons/before_background.png', size=self.size, pos=self.pos) if not self.text in ['Ant.', 'Sig.']: with self.canvas.before: BorderImage(source='icons/before_background.png', size=self.size, pos=self.pos)
def on_focused(self, instance, value, *largs): if (value): if (self.attachedGif is not None and self.attachedGif._coreimage is not None): self.attachedGif.anim_loop = 1 self.attachedGif.anim_delay = self.animDelay self.attachedGif._coreimage.anim_reset(True) with instance.canvas.before: BorderImage(size=(instance.width + 2, instance.height + 2), pos=(instance.x - 1, instance.y - 1), source='./images/borderImage3.jpg', auto_scale='both', group='borderImage') else: if (self.attachedGif is not None and self.attachedGif._coreimage is not None): self.attachedGif._coreimage._anim_index = 0 self.attachedGif._coreimage.anim_reset(True) self.attachedGif._coreimage.anim_reset(False) instance.canvas.before.remove_group('borderImage')
def resize(self, *args): self.cell_size = (0.25 * (self.width - 5 * spacing), ) * 2 self.canvas.before.clear() with self.canvas.before: BorderImage(pos=self.pos, size=self.size, source='board.png')