#-- #:import OpenGroup tagit.actions.grouping : root: None spacing: 10 size_hint: 1.0, 1.0 page_size: self.cols * self.rows # must not define rows and cols : is_cursor: False is_selected: False : # This be an image preview: image AsyncBufferImage: id: image size_hint: None, None # actual size is set in code pos: 0, 0 # coordinates of the (actual) image's top-right corner tr_x: self.center_x + self.texture.width / 2.0 if self.texture is not None else None tr_y: self.center_y + self.texture.height / 2.0 if self.texture is not None else None # FIXME: mb/port #OpenGroup: # root: root.browser.root # # positioning: # # (1) top right corner of the root (inside root) # #x: root.width - self.width # #y: root.height - self.height # # (2) top right corner of the root (inside root) # #pos_hint: {'top': 1.0, 'right': 1.0} # # (3) top right corner of the image (outside the image) # #x: image.tx is not None and image.tx or float('inf') # #y: image.ty is not None and image.ty or float('inf') # # (4) top right corner of the image (inside root, outside the image if possible) # tr_x: root.width - self.width # tr_y: root.height - self.height # x: min(self.tr_x, image.tr_x is not None and image.tr_x or float('inf')) # y: min(self.tr_y, image.tr_y is not None and image.tr_y or float('inf')) # # opacity: root.is_group and 1.0 or 0.0 # show: 'image', : halign: 'left' valign: 'center' text_size: self.size : # This be a list item spacer: 20 preview: image AsyncBufferImage: id: image size_hint: None, 1 # actual size is set in code pos: 0, 0 BrowserDescriptionLabel: text: root.text markup: True size_hint: None, 1 width: root.width - image.width - root.spacer - 35 pos: root.height + root.spacer, 0 : mirror: False angle: 0 opacity: 0 canvas.before: PushMatrix Rotate: angle: self.mirror and 180 or 0 origin: self.center axis: (0, 1, 0) Rotate: angle: self.angle origin: self.center axis: (0, 0, 1) canvas.after: PopMatrix ## EOF ##