Skip to content

Commit d3afa4d

Browse files
committed
added frame to fixture labels
1 parent 05665bc commit d3afa4d

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

fixture_label.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package rasterizer
33
import (
44
"fmt"
55
"image"
6+
"image/color"
67

78
MVRTypes "github.com/Patch2PDF/MVR-Parser/pkg/types"
89
)
@@ -16,6 +17,12 @@ var fixture_label_padding = padding{5, 10, 5, 10}
1617

1718
const fixture_distance = 15
1819

20+
var fixture_label_background = color.NRGBA{255, 255, 255, 255}
21+
22+
const fixture_label_border_width = 3
23+
24+
var fixture_label_border_color = color.NRGBA{0, 0, 0, 255}
25+
1926
// candidates for label positioning (order in array decides priority)
2027
// if no one fits, fall back to more expensive algorithm
2128
var candidates = []string{
@@ -124,7 +131,7 @@ func drawFixtureLabels(canvas *Canvas) error {
124131
continue
125132
}
126133

127-
drawLabelBackground(canvas, rect)
134+
drawLabelBackground(canvas, rect, fixture_label_background, fixture_label_border_width, fixture_label_border_color)
128135
fixtureLabelFillZBuf(canvas, rect)
129136

130137
drawLabelText(canvas, rect.Min.X+fixture_label_padding.left, rect.Min.Y+fixture_label_padding.top, label_text)

label_drawer.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ var (
2020
fontBytes []byte
2121
)
2222

23-
// const dpi = 72
24-
// const size = 18
25-
2623
type fontFace struct {
2724
face *font.Face
2825
ascent int
@@ -90,8 +87,19 @@ func calcLabelDimensions(canvas *Canvas, text string) (width int, height int) {
9087
return width, font_face.font_height * line_count
9188
}
9289

93-
func drawLabelBackground(canvas *Canvas, rect image.Rectangle) {
94-
draw.Draw(canvas.canvas, rect, image.NewUniform(color.White), image.Point{}, draw.Src)
90+
func drawLabelBackground(canvas *Canvas, rect image.Rectangle, background_color color.NRGBA, border_width int, border_color color.NRGBA) {
91+
draw.Draw(
92+
canvas.canvas,
93+
image.Rectangle{
94+
Min: image.Point{rect.Min.X + border_width, rect.Min.Y + border_width},
95+
Max: image.Point{rect.Max.X - border_width, rect.Max.Y - border_width},
96+
},
97+
image.NewUniform(background_color),
98+
image.Point{},
99+
draw.Src,
100+
)
101+
102+
frame(canvas.canvas, rect, border_width, border_color)
95103
}
96104

97105
func drawLabelText(canvas *Canvas, x int, y int, text string) {

0 commit comments

Comments
 (0)