本文整理匯總了Golang中github.com/google/gxui.Driver.CreateFont方法的典型用法代碼示例。如果您正苦於以下問題:Golang Driver.CreateFont方法的具體用法?Golang Driver.CreateFont怎麽用?Golang Driver.CreateFont使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/google/gxui.Driver
的用法示例。
在下文中一共展示了Driver.CreateFont方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: appMain
func appMain(driver gxui.Driver) {
theme := dark.CreateTheme(driver)
window := theme.CreateWindow(800, 600, "Hi")
window.SetBackgroundBrush(gxui.CreateBrush(gxui.Gray50))
fontData, err := ioutil.ReadFile(sysFont("幼圓")) //this font comes from windows
if err != nil {
log.Fatalf("error reading font: %v", err)
}
font, err := driver.CreateFont(fontData, 50)
if err != nil {
panic(err)
}
label := theme.CreateLabel()
label.SetFont(font)
label.SetColor(gxui.Red50)
label.SetText("支持一下中文")
button := theme.CreateButton()
button.SetText("點我一下")
window.AddChild(label)
window.AddChild(button)
window.OnClose(driver.Terminate)
}
示例2: CreateFont
func CreateFont(size int, driver gxui.Driver) gxui.Font {
font, err := driver.CreateFont(gxfont.Monospace, size)
if err != nil {
panic(err)
}
return font
}
示例3: CreateTheme
func CreateTheme(driver gxui.Driver) gxui.Theme {
defaultFont, err := driver.CreateFont(gxfont.Default, 12)
if err == nil {
defaultFont.LoadGlyphs(32, 126)
} else {
fmt.Printf("Warning: Failed to load default font - %v\n", err)
}
defaultMonospaceFont, err := driver.CreateFont(gxfont.Monospace, 12)
if err == nil {
defaultFont.LoadGlyphs(32, 126)
} else {
fmt.Printf("Warning: Failed to load default monospace font - %v\n", err)
}
scrollBarRailDefaultBg := gxui.Black
scrollBarRailDefaultBg.A = 0.7
scrollBarRailOverBg := gxui.Gray20
scrollBarRailOverBg.A = 0.7
neonBlue := gxui.ColorFromHex(0xFF5C8CFF)
focus := gxui.ColorFromHex(0xA0C4D6FF)
return &basic.Theme{
DriverInfo: driver,
DefaultFontInfo: defaultFont,
DefaultMonospaceFontInfo: defaultMonospaceFont,
WindowBackground: gxui.Black,
// fontColor brushColor penColor
BubbleOverlayStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray20, gxui.Gray40, 1.0),
ButtonDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray20, 1.0),
ButtonOverStyle: basic.CreateStyle(gxui.Gray90, gxui.Gray15, gxui.Gray50, 1.0),
ButtonPressedStyle: basic.CreateStyle(gxui.Gray20, gxui.Gray70, gxui.Gray30, 1.0),
CodeSuggestionListStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray20, gxui.Gray10, 1.0),
DropDownListDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray20, 1.0),
DropDownListOverStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray15, gxui.Gray50, 1.0),
FocusedStyle: basic.CreateStyle(gxui.Gray80, gxui.Transparent, focus, 1.0),
HighlightStyle: basic.CreateStyle(gxui.Gray80, gxui.Transparent, neonBlue, 2.0),
LabelStyle: basic.CreateStyle(gxui.Gray80, gxui.Transparent, gxui.Transparent, 0.0),
PanelBackgroundStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray15, 1.0),
ScrollBarBarDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray30, gxui.Gray40, 1.0),
ScrollBarBarOverStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray50, gxui.Gray60, 1.0),
ScrollBarRailDefaultStyle: basic.CreateStyle(gxui.Gray80, scrollBarRailDefaultBg, gxui.Transparent, 1.0),
ScrollBarRailOverStyle: basic.CreateStyle(gxui.Gray80, scrollBarRailOverBg, gxui.Gray20, 1.0),
SplitterBarDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray10, 1.0),
SplitterBarOverStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray50, 1.0),
TabActiveHighlightStyle: basic.CreateStyle(gxui.Gray90, neonBlue, neonBlue, 0.0),
TabDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray30, gxui.Gray40, 1.0),
TabOverStyle: basic.CreateStyle(gxui.Gray90, gxui.Gray30, gxui.Gray50, 1.0),
TabPressedStyle: basic.CreateStyle(gxui.Gray20, gxui.Gray70, gxui.Gray30, 1.0),
TextBoxDefaultStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray20, 1.0),
TextBoxOverStyle: basic.CreateStyle(gxui.Gray80, gxui.Gray10, gxui.Gray50, 1.0),
}
}
示例4: appMain
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
// ┌───────┐║┌───────┐
// │ │║│ │
// │ A │║│ B │
// │ │║│ │
// └───────┘║└───────┘
// ═══════════════════
// ┌───────┐║┌───────┐
// │ │║│ │
// │ C │║│ D │
// │ │║│ │
// └───────┘║└───────┘
ftData, err := ioutil.ReadFile("static/font/simhei.ttf")
if err != nil {
log.Println(err)
}
ft, err := driver.CreateFont(ftData, 20)
if err != nil {
log.Println(err)
}
menu := theme.CreateLinearLayout()
menu.SetDirection(gxui.LeftToRight)
logo_label := theme.CreateLabel()
logo_label.SetColor(gxui.White)
logo_label.SetFont(ft)
logo_label.SetText("百度盤")
logo_label.SetSize(math.Size{300, 200})
menu.AddChild(logo_label)
splitterCD := theme.CreateSplitterLayout()
splitterCD.SetOrientation(gxui.Horizontal)
splitterCD.AddChild(panelHolder("C", theme))
splitterCD.AddChild(panelHolder("D", theme))
vSplitter := theme.CreateSplitterLayout()
vSplitter.SetOrientation(gxui.Vertical)
vSplitter.AddChild(menu)
vSplitter.AddChild(splitterCD)
window := theme.CreateWindow(800, 600, "百度盤")
window.SetScale(flags.DefaultScaleFactor)
window.AddChild(vSplitter)
window.OnClose(driver.Terminate)
}
示例5: appMain
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
font, err := driver.CreateFont(gxfont.Default, 75)
if err != nil {
panic(err)
}
window := theme.CreateWindow(380, 100, "Hi")
window.SetBackgroundBrush(gxui.CreateBrush(gxui.Gray50))
label := theme.CreateLabel()
label.SetFont(font)
label.SetText("Hello world")
window.AddChild(label)
ticker := time.NewTicker(time.Millisecond * 30)
go func() {
phase := float32(0)
for _ = range ticker.C {
c := gxui.Color{
R: 0.75 + 0.25*math.Cosf((phase+0.000)*math.TwoPi),
G: 0.75 + 0.25*math.Cosf((phase+0.333)*math.TwoPi),
B: 0.75 + 0.25*math.Cosf((phase+0.666)*math.TwoPi),
A: 0.50 + 0.50*math.Cosf(phase*10),
}
phase += 0.01
driver.Call(func() {
label.SetColor(c)
})
}
}()
window.OnClose(ticker.Stop)
window.OnClose(driver.Terminate)
}
示例6: appMain
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
font, err := driver.CreateFont(gxfont.Default, H1_FONT_SIZE)
catch(err)
window := theme.CreateWindow(WINDOW_WIDTH, WINDOW_HEIGHT, APP_TITLE)
window.SetBackgroundBrush(gxui.CreateBrush(gxui.White))
window.SetScale(flags.DefaultScaleFactor)
window.SetPadding(math.Spacing{L: 10, R: 10, T: 10, B: 10})
layout := theme.CreateLinearLayout()
layout.SetSizeMode(gxui.Fill)
layout.SetHorizontalAlignment(gxui.AlignCenter)
layout.HorizontalAlignment().AlignCenter()
fullscreenButton := theme.CreateButton()
fullscreenButton.SetText("Make Fullscreen")
fullscreenButton.OnClick(func(ev gxui.MouseEvent) {
fullscreen := !window.Fullscreen()
window.SetFullscreen(fullscreen)
if fullscreen {
fullscreenButton.SetText("Make Windowed")
} else {
fullscreenButton.SetText("Make Fullscreen")
}
})
h1Title := theme.CreateLabel()
h1Title.SetFont(font)
h1Title.SetColor(gxui.Color{R: 0, G: 0, B: 0, A: 1})
KinopoiskLabel := theme.CreateLabel()
KinopoiskLabel.SetFont(font)
KinopoiskLabel.SetColor(gxui.Color{R: 0, G: 0, B: 0, A: 1})
ImdbLabel := theme.CreateLabel()
ImdbLabel.SetFont(font)
ImdbLabel.SetColor(gxui.Color{R: 0, G: 0, B: 0, A: 1})
// https://github.com/google/gxui/blob/master/samples/image_viewer/main.go
img := theme.CreateImage()
getFilmButton := theme.CreateButton()
getFilmButton.SetText("Get Film!")
getFilmButton.OnClick(func(ev gxui.MouseEvent) {
getFilm(driver, h1Title, KinopoiskLabel, ImdbLabel, img)
})
getFilm(driver, h1Title, KinopoiskLabel, ImdbLabel, img)
layout.AddChild(fullscreenButton)
layout.AddChild(h1Title)
layout.AddChild(KinopoiskLabel)
layout.AddChild(ImdbLabel)
layout.AddChild(getFilmButton)
layout.AddChild(img)
window.AddChild(layout)
window.OnClose(driver.Terminate)
}
示例7: MainWindow
func MainWindow(driver gxui.Driver) {
theme = dark.CreateTheme(driver)
fontData, err := ioutil.ReadFile("./fonts/Microsoft Yahei.ttf")
if err != nil {
log.Fatalf("error reading font: %v", err)
}
font, err := driver.CreateFont(fontData, 20)
if err != nil {
panic(err)
}
theme.SetDefaultFont(font)
headLayout := theme.CreateLinearLayout()
headLayout.SetSizeMode(gxui.Fill)
headLayout.SetHorizontalAlignment(gxui.AlignCenter)
headLayout.SetDirection(gxui.TopToBottom)
headLayout.SetSize(math.Size{W: 100, H: 50})
label := theme.CreateLabel()
label.SetMargin(math.CreateSpacing(10))
label.SetText("豆瓣FM紅心歌單下載")
headLayout.AddChild(label)
bodyLayout := theme.CreateLinearLayout()
bodyLayout.SetSizeMode(gxui.Fill)
bodyLayout.SetHorizontalAlignment(gxui.AlignCenter)
bodyLayout.SetSize(math.Size{W: 100, H: 400})
bodyLayout.SetDirection(gxui.TopToBottom)
// bodyLayout.SetMargin(math.Spacing{T: 50})
userHint := theme.CreateLabel()
userHint.SetMargin(math.CreateSpacing(10))
userHint.SetText("用戶名")
bodyLayout.AddChild(userHint)
usernameField := theme.CreateTextBox()
bodyLayout.AddChild(usernameField)
passHint := theme.CreateLabel()
passHint.SetMargin(math.CreateSpacing(10))
passHint.SetText("密碼")
bodyLayout.AddChild(passHint)
passwordField := theme.CreateTextBox()
bodyLayout.AddChild(passwordField)
footLayout := theme.CreateLinearLayout()
footLayout.SetSizeMode(gxui.Fill)
footLayout.SetHorizontalAlignment(gxui.AlignCenter)
footLayout.SetDirection(gxui.TopToBottom)
// footLayout.SetMargin(math.Spacing{T: 450})
button := theme.CreateButton()
button.SetText("登錄並下載")
button.OnClick(func(gxui.MouseEvent) {
user := usernameField.Text()
password := passwordField.Text()
if user == "" || password == "" {
return
}
label.SetText(user + "&" + password)
})
footLayout.AddChild(button)
window := theme.CreateWindow(600, 800, "豆瓣FM下載器")
window.SetBackgroundBrush(gxui.CreateBrush(gxui.White))
window.AddChild(headLayout)
window.AddChild(bodyLayout)
window.AddChild(footLayout)
window.OnClose(driver.Terminate)
window.SetPadding(math.Spacing{L: 10, T: 10, R: 10, B: 10})
}
示例8: appMain
func appMain(driver gxui.Driver) {
theme := flags.CreateTheme(driver)
font, err := driver.CreateFont(gxfont.Default, 75)
if err != nil {
panic(err)
}
window := theme.CreateWindow(800, 480, "Привет")
window.SetBackgroundBrush(gxui.CreateBrush(gxui.Gray50))
window.SetBorderPen(gxui.Pen{Width: 5, Color: gxui.Yellow})
f, err := os.Open("wallpaper.jpg")
if err != nil {
fmt.Printf("Failed to open image %v\n", err)
os.Exit(1)
}
source, _, err := image.Decode(f)
if err != nil {
fmt.Printf("Failed to open image %v\n", err)
os.Exit(2)
}
wallpaper := theme.CreateImage()
window.AddChild(wallpaper)
// Copy the image to a RGBA format before handing to a gxui.Texture
rgba := image.NewRGBA(source.Bounds())
draw.Draw(rgba, source.Bounds(), source, image.ZP, draw.Src)
texture := driver.CreateTexture(rgba, 1)
wallpaper.SetTexture(texture)
layout := theme.CreateLinearLayout()
layout.SetDirection(gxui.TopToBottom)
window.AddChild(layout)
label := theme.CreateLabel()
label.SetFont(font)
label.SetText("Здравствуй мир")
label.OnMouseMove(func(e gxui.MouseEvent) {
fmt.Printf("X=%d; Y=%d\n", e.Point.X, e.Point.Y)
})
layout.AddChild(label)
lTimer := theme.CreateLabel()
lTimer.SetFont(font)
lTimer.SetColor(gxui.Green30)
layout.AddChild(lTimer)
button := theme.CreateButton()
button.SetText("Exit")
button.SetPadding(math.Spacing{20, 10, 20, 10})
button.SetMargin(math.Spacing{20, 10, 20, 10})
button.OnClick(func(e gxui.MouseEvent) {
window.Close()
})
layout.AddChild(button)
ticker := time.NewTicker(time.Millisecond * 30)
go func() {
phase := float32(0)
for _ = range ticker.C {
c := gxui.Color{
R: 0.75 + 0.25*math.Cosf((phase+0.000)*math.TwoPi),
G: 0.75 + 0.25*math.Cosf((phase+0.333)*math.TwoPi),
B: 0.75 + 0.25*math.Cosf((phase+0.666)*math.TwoPi),
A: 0.50 + 0.50*math.Cosf(phase*10),
}
phase += 0.01
driver.Call(func() {
label.SetColor(c)
})
}
}()
ticker2 := time.NewTicker(time.Millisecond * 100)
go func() {
for t := range ticker.C {
driver.Call(func() {
lTimer.SetText(t.Format(time.Stamp))
})
}
}()
window.OnClose(ticker.Stop)
window.OnClose(ticker2.Stop)
window.OnClose(driver.Terminate)
}