Beispiel #1
0
    def draw(self, canvas, x_pos, y_pos, config):
        if self.prev_line:
            y_pos -= 2.74 * (config["font_size"] + config["y_spacing"])
            x_pos += 4
        draw.string(canvas, x_pos,
                    y_pos + ((config["box_size"] - config["font_size"]) / 2.0),
                    self.label + ":", config["font_size"])
        x_offset = 1
        for i in range(len(self.labels)):
            draw.string(
                canvas, x_pos + x_offset +
                (config["box_spacing"] + config["box_size"]) * i,
                y_pos + ((config["box_size"] - config["font_size"]) / 2.0),
                self.labels[i], config["font_size"])
        y_pos += config["font_size"] + config["box_spacing"]
        for i in range(len(self.labels)):
            label = self.labels[i]
            for j in range(len(self.options)):
                o = self.options[j]
                if o == '.':
                    x_offset += config["box_spacing"] + config["box_size"]
                    continue
                if o == ',':
                    x_offset += config["box_spacing"]
                    continue
                draw.box(canvas,
                         x_pos + x_offset,
                         y_pos + j *
                         (config["y_spacing"] + config["box_spacing"]),
                         config["box_size"],
                         label=o,
                         font_size=config["box_font_size"])
            x_offset += config["box_spacing"] + config["box_size"]

        return self.get_height(config)
Beispiel #2
0
 def draw(self, canvas, x_pos, y_pos, config):
     if self.label is None:
         pass
     elif self.label == "-":
         draw.rectangle(canvas, config["marker_size"], y_pos, self.SHEET_WIDTH - (config["marker_size"] * 2),
                        config["divider_height"])
     else:
         draw.string(canvas, config["marker_size"] + 0.25, y_pos, self.label, config["font_size"] * 1.5)
         draw.rectangle(canvas, config["marker_size"] + 0.125, y_pos + (config["font_size"] * 1.5),
                        self.SHEET_WIDTH - (config["marker_size"] * 2) - 0.25, config["divider_height"],
                        stroke=False, fill=True)
     return self.get_height(config)
 def draw(self, canvas, x_pos, y_pos, config):
     if not self.pos == (0, 0):
         x_pos = self.pos[0]
         y_pos = self.pos[1]
     else:
         x_pos += self.x_offset
     if self.height == "thin":
         y_pos -= config["y_spacing"] / 8
     font_size = self.font_size
     if font_size == -1:
         font_size = config["font_size"]
     draw.string(canvas, x_pos, y_pos, self.string, font_size)
     return self.get_height(config)
    def draw(self, canvas, x_pos, y_pos, config, dump_info=True):
        if self.label:
            draw.string(canvas, x_pos + self.offset, y_pos + ((config["box_size"] - config["font_size"]) / 2.0),
                        self.label, config["font_size"])
            y_pos += config["font_size"] + config["y_spacing"]/2
        for row_label in self.labels:
            x_offset = self.offset
            if row_label == '.':
                x_offset += config["box_spacing"] + config["box_size"]
                continue
            elif row_label == ',':
                x_offset += config["box_spacing"]
                continue
            elif row_label == "":
                pass
            elif row_label == " ":
                x_offset += config['label_offset'] / 2
            else:
                draw.string(canvas, x_pos + x_offset, y_pos + ((config["box_size"] - config["font_size"]) / 2.0),
                        row_label + (":" if not row_label == "" else ""), config["font_size"])
                x_offset += config['label_offset']

            if self.note_space:
                x = x_pos + x_offset
                draw.rectangle(canvas, x, y_pos,
                               self.note_width * (config["box_size"] + config["box_spacing"]) + config["box_size"],
                               config["box_size"])
                x_pos += (1 + self.note_width) * (config["box_size"] + config["box_spacing"])

            font_size = config["box_font_size"]
            for op in self.options:
                if type(op) == list:
                    o = op[0]
                else:
                    o = op
                if o == '.':
                    x_offset += config["box_spacing"] + config["box_size"]
                    continue
                if o == ',':
                    x_offset += config["box_spacing"]
                    continue
                if o == "_":
                    o = " "
                draw.box(canvas, x_pos + x_offset, y_pos, config["box_size"], label=str(o), font_size=font_size)
                x_offset += config["box_size"] + config["box_spacing"]
            y_pos += config["box_size"] + config["box_spacing"]/2

        return self.get_height(config)
    def draw(self, canvas, x_pos, y_pos, config):
        if self.prev_line:
            x_pos += self.offset
            y_pos -= self.y_offset + 0.2375
            draw.string(
                canvas, x_pos + 1,
                y_pos + ((config["box_size"] - config["font_size"]) / 2.0) -
                config["y_spacing"], self.label + ":", config["font_size"])
        else:
            draw.string(
                canvas, x_pos,
                y_pos + ((config["box_size"] - config["font_size"]) / 2.0),
                self.label + ":", config["font_size"])
        draw.rectangle(canvas, x_pos + 1, y_pos, self.width, self.height)
        if self.image_path is not None:
            draw.image(canvas, x_pos + 1, y_pos, self.width, self.height,
                       self.image_path)

        return self.get_height(config)
Beispiel #6
0
    def draw(self, canvas, x_pos, y_pos, config):
        if not self.label[0] == "-":
            draw.string(canvas, x_pos, y_pos, self.label + ":", config["font_size"])
            for i in range(self.digits):
                SevenSegment(value=int(self.values.split(" ")[i])).draw(canvas,
                                                                        x_pos + 1 + config["seven_segment_offset"] * i,
                                                                        y_pos, config)
        elif self.label == "-TeamNumber":
            for i in range(self.digits):
                SevenSegment(value=int(self.values.split(" ")[i])).draw(canvas,
                                                                        x_pos + config["seven_segment_offset"] * i,
                                                                        y_pos, config)
            draw.string(canvas, x_pos,
                        y_pos + config["seven_segment_width"] * 2 + config["seven_segment_thickness"] * 3 + config[
                            "y_spacing"], "Team #: __________", config["font_size"])
        else:
            for i in range(self.digits):
                SevenSegment(value=int(self.values.split(" ")[i])).draw(canvas,
                                                                        x_pos + config["seven_segment_offset"] * i,
                                                                        y_pos, config)
            draw.string(canvas, x_pos,
                        y_pos + config["seven_segment_width"] * 2 + config["seven_segment_thickness"] * 3 + config[
                            "box_spacing"], re.sub(r"(?<=\w)([A-Z])", r" \1", self.label[1:]), config["font_size"])

        return self.get_height(config)