本文整理汇总了Golang中github.com/go-gl/glfw/v3/1/glfw.Window.GetSize方法的典型用法代码示例。如果您正苦于以下问题:Golang Window.GetSize方法的具体用法?Golang Window.GetSize怎么用?Golang Window.GetSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/go-gl/glfw/v3/1/glfw.Window
的用法示例。
在下文中一共展示了Window.GetSize方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Render
func (state *State) Render(window *glfw.Window) {
if !state.Dirty {
return
}
state.Dirty = false
state.Reset(window)
state.Time = time.Now()
state.UpdateInput(window)
hue := float32(state.Time.UnixNano()/1e6%360) / 360.0
Highlight = ui.ColorHSLA(hue, 0.7, 0.7, 1.0)
w, h := window.GetSize()
root := &ui.Context{
Backend: state.Backend,
Input: state.Input,
Area: ui.Block(0, 0, float32(w), float32(h)),
}
if root.Input.Mouse.Drag != nil {
if !root.Input.Mouse.Drag(root) {
root.Input.Mouse.Drag = nil
}
}
state.Backend.SetBack(ui.ColorHex(0xEEEEEEFF))
state.Backend.SetFore(ui.ColorHex(0xCCCCCCFF))
state.Backend.SetFontColor(ui.ColorHex(0x000000FF))
view := NewView(state, root, &state.Timeline)
view.Render()
}
示例2: onResize
// onResize sets up a simple 2d ortho context based on the window size
func onResize(window *glfw.Window, w, h int) {
w, h = window.GetSize() // query window to get screen pixels
width, height := window.GetFramebufferSize()
gl.Viewport(0, 0, int32(width), int32(height))
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), 0, float64(h), -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.ClearColor(1, 1, 1, 1)
}
示例3: initOpenGl
func initOpenGl(window *glfw.Window, w, h int) {
w, h = window.GetSize() // query window to get screen pixels
width, height := window.GetFramebufferSize()
gl.Viewport(0, 0, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, float64(w), 0, float64(h), -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.ClearColor(.25, .88, .83, 1) // turquoise
}
示例4: Reset
func (state *State) Reset(window *glfw.Window) {
gl.ClearColor(1, 1, 1, 1)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Disable(gl.DEPTH)
gl.Enable(gl.FRAMEBUFFER_SRGB)
width, height := window.GetSize()
gl.Viewport(0, 0, int32(width), int32(height))
gl.Ortho(0, float64(width), float64(height), 0, 30, -30)
}
示例5: Render
func (state *State) Render(window *glfw.Window) {
state.Reset(window)
state.UpdateInput(window)
w, h := window.GetSize()
root := &ui.Context{
Backend: state.Backend,
Input: state.Input,
Area: ui.Block(0, 0, float32(w), float32(h)),
}
if root.Input.Mouse.Drag != nil {
if !root.Input.Mouse.Drag(root) {
root.Input.Mouse.Drag = nil
}
}
state.Backend.SetBack(ui.ColorHex(0xEEEEEEFF))
state.Backend.SetFore(ui.ColorHex(0xCCCCCCFF))
state.Backend.SetFontColor(ui.ColorHex(0x000000FF))
mm := &MainMenu{}
ui.Buttons{
{"☺", mm.File},
{"Load", mm.Load},
{"Save", mm.Save},
{"Quit", mm.Quit},
}.DoDynamic(ui.LayoutToRight(50, root.Top(20).Panel()))
boxbounds := ui.Bounds{
state.Box,
state.Box.Offset(ui.Point{30, 30})}
runtime.ReadMemStats(&state.MemStats)
root.Right(state.SidePanelSize).Reflect("Mem", &state.MemStats)
ui.SplitterX(root.Right(5), func(delta float32) {
state.SidePanelSize -= delta
})
box := root.Child(boxbounds)
box.Backend.SetBack(ui.ColorHex(0xFF88EEFF))
box.Backend.SetFore(ui.ColorHex(0xFF88EEFF))
box.Backend.Fill(box.Area)
box.Backend.Stroke(box.Area)
ui.DoDragXY(box, func(dx, dy float32) {
state.Box.X += dx
state.Box.Y += dy
})
}
示例6: onMouseMove
func onMouseMove(w *glfw.Window, xpos float64, ypos float64) {
width, height := w.GetSize()
if currentScreen != nil {
fw, fh := w.GetFramebufferSize()
currentScreen.hover(xpos*(float64(fw)/float64(width)), ypos*(float64(fh)/float64(height)), fw, fh)
return
}
if !lockMouse {
return
}
ww, hh := float64(width/2), float64(height/2)
w.SetCursorPos(ww, hh)
s := float64(10000-mouseSensitivity.Value()) + 0.01
rotate((xpos-ww)/s, (ypos-hh)/s)
}
示例7: onMouseClick
func onMouseClick(w *glfw.Window, button glfw.MouseButton, action glfw.Action, mod glfw.ModifierKey) {
if currentScreen != nil {
if button != glfw.MouseButtonLeft || action == glfw.Repeat {
return
}
width, height := w.GetSize()
xpos, ypos := w.GetCursorPos()
fw, fh := w.GetFramebufferSize()
currentScreen.click(action == glfw.Press, xpos*(float64(fw)/float64(width)), ypos*(float64(fh)/float64(height)), fw, fh)
return
}
if !Client.chat.enteringText && lockMouse && action != glfw.Repeat {
Client.MouseAction(button, action == glfw.Press)
}
if button == glfw.MouseButtonLeft && action == glfw.Press && !Client.chat.enteringText {
lockMouse = true
w.SetInputMode(glfw.CursorMode, glfw.CursorDisabled)
}
}
示例8: draw
func draw(w *glfw.Window) {
//Get the horizontal split size of the window
sizex, sizey := w.GetSize()
var eyesize mgl32.Vec2
eyesize[0] = float32(sizex / 2.0)
eyesize[1] = float32(sizey)
gl.Enable(gl.SCISSOR_TEST)
gl.Scissor(0, 0, int32(eyesize[0]), int32(eyesize[1]))
gl.ClearColor(1, 0, 0, 1)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.Scissor(int32(eyesize[0]), 0, int32(eyesize[0]), int32(eyesize[1]))
gl.ClearColor(0, 0, 1, 1)
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.Disable(gl.SCISSOR_TEST)
}
示例9: draw
// OpenGL draw function
func draw(window *glfw.Window) {
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.Enable(gl.BLEND)
gl.Enable(gl.POINT_SMOOTH)
gl.Enable(gl.LINE_SMOOTH)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.LoadIdentity()
gl.PushMatrix()
gl.Disable(gl.LIGHTING)
width, height := window.GetSize()
x := float64(width)
y := float64(height)
h := 0
gl.Color4f(.1, .1, .1, .8)
gl.LineWidth(1.0)
// x方向
var x0, x1, y0, y1 float64
var deltaX, deltaY float64
d := width / 2
x0 = -x
x1 = -x
y0 = -y
y1 = y
deltaX = ((2 * x) / float64(d))
for i := 0; i < d; i++ {
x0 = x0 + deltaX
gl.Begin(gl.LINES)
gl.Vertex3f(float32(x0), float32(y0), float32(h))
gl.Vertex3f(float32(x0), float32(y1), float32(h))
gl.End()
}
// y方向
x0 = -x
x1 = x
deltaY = ((2 * y) / float64(d))
for i := 0; i < d; i++ {
y0 = y0 + deltaY
gl.Begin(gl.LINES)
gl.Vertex3f(float32(x0), float32(y0), float32(h))
gl.Vertex3f(float32(x1), float32(y0), float32(h))
gl.End()
}
gl.PopMatrix()
// draw boxes
for _, room := range rooms {
gl.PushMatrix()
rot := room.Box.Body.Angle() * chipmunk.DegreeConst
gl.Rotatef(float32(rot), 0, 0, 1.0)
x := roundm(float64(room.Box.Body.Position().X), 4.0)
y := roundm(float64(room.Box.Body.Position().Y), 4.0)
gl.Translated(x, y, 0.0)
drawRoom(room)
gl.PopMatrix()
}
}