本文整理汇总了Golang中github.com/runningwild/glop/gui.Region.PopClipPlanes方法的典型用法代码示例。如果您正苦于以下问题:Golang Region.PopClipPlanes方法的具体用法?Golang Region.PopClipPlanes怎么用?Golang Region.PopClipPlanes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/runningwild/glop/gui.Region
的用法示例。
在下文中一共展示了Region.PopClipPlanes方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Draw
func (hv *HouseViewer) Draw(region gui.Region) {
region.PushClipPlanes()
defer region.PopClipPlanes()
hv.Render_region = region
hv.temp_floor_drawers = hv.temp_floor_drawers[0:0]
if hv.Edit_mode {
for _, spawn := range hv.house.Floors[0].Spawns {
hv.temp_floor_drawers = append(hv.temp_floor_drawers, spawn)
}
}
for _, fd := range hv.floor_drawers {
hv.temp_floor_drawers = append(hv.temp_floor_drawers, fd)
}
hv.house.Floors[0].render(region, hv.fx, hv.fy, hv.angle, hv.zoom, hv.drawables, hv.Los_tex, hv.temp_floor_drawers)
}
示例2: Draw
func (rv *RoomViewer) Draw(region gui.Region) {
region.PushClipPlanes()
defer region.PopClipPlanes()
if rv.Render_region.X != region.X || rv.Render_region.Y != region.Y || rv.Render_region.Dx != region.Dx || rv.Render_region.Dy != region.Dy {
rv.Render_region = region
rv.makeMat()
}
gl.MatrixMode(gl.MODELVIEW)
gl.PushMatrix()
defer gl.PopMatrix()
gl.LoadIdentity()
gl.MultMatrixf(&rv.mat[0])
// rv.room.render(rv.mat, rv.left_wall_mat, rv.right_wall_mat)
rv.room.setupGlStuff()
rv.room.far_left.wall_alpha = 255
rv.room.far_right.wall_alpha = 255
rv.room.render(rv.mat, rv.left_wall_mat, rv.right_wall_mat, rv.zoom, 255, nil, nil, nil)
return
rv.cstack.Push(1, 1, 1, 1)
defer rv.cstack.Pop()
drawPrep()
drawWall(rv.room, rv.mat, rv.left_wall_mat, rv.right_wall_mat, rv.Temp.WallTexture, doorInfo{}, rv.cstack, nil, 1.0)
drawFloor(rv.room, rv.mat, rv.Temp.WallTexture, rv.cstack, nil, 1.0, nil)
rv.drawFloor()
if rv.edit_mode == editCells {
rv.cstack.Pop()
rv.cstack.Push(1, 1, 1, 0.1)
} else {
rv.cstack.Push(1, 1, 1, 1)
defer rv.cstack.Pop()
}
drawFurniture(0, 0, rv.mat, rv.zoom, rv.room.Furniture, rv.Temp.Furniture, nil, rv.cstack, nil, 1.0)
}
示例3: Draw
func (rc *RosterChooser) Draw(r gui.Region) {
rc.Render_region = r
r.PushClipPlanes()
defer r.PopClipPlanes()
gl.Enable(gl.TEXTURE_2D)
{ // Up button
x := r.X
y := r.Y + r.Dy - rc.layout.Up.Data().Dy()
rc.render.up.X = x
rc.render.up.Y = y
rc.render.up.Dx = rc.layout.Up.Data().Dx()
rc.render.up.Dy = rc.layout.Up.Data().Dy()
if rc.mouse.Inside(rc.render.up) {
gl.Color4d(1, 1, 1, 1)
} else {
gl.Color4d(0.8, 0.8, 0.8, 1)
}
rc.layout.Up.Data().RenderNatural(x, y)
}
{ // Down button
x := r.X
y := r.Y + rc.layout.Down.Data().Dy()
rc.render.down.X = x
rc.render.down.Y = y
rc.render.down.Dx = rc.layout.Down.Data().Dx()
rc.render.down.Dy = rc.layout.Down.Data().Dy()
if rc.mouse.Inside(rc.render.down) {
gl.Color4d(1, 1, 1, 1)
} else {
gl.Color4d(0.8, 0.8, 0.8, 1)
}
rc.layout.Down.Data().RenderNatural(x, y)
}
{ // Options
rc.render.all_options.X = r.X + rc.layout.Down.Data().Dx()
rc.render.all_options.Y = r.Y + r.Dy - rc.layout.Num_options*rc.layout.Option.Dy
rc.render.all_options.Dx = rc.layout.Option.Dx
rc.render.all_options.Dy = rc.layout.Num_options * rc.layout.Option.Dy
rc.render.all_options.PushClipPlanes()
x := rc.render.all_options.X
y := r.Y + r.Dy - rc.layout.Option.Dy + int(float64(rc.layout.Option.Dy)*rc.focus_pos)
for i := range rc.options {
rc.render.options[i] = gui.Region{
gui.Point{x, y},
gui.Dims{rc.layout.Option.Dx, rc.layout.Option.Dy},
}
hovered := rc.mouse.Inside(rc.render.options[i])
selected := rc.selected[i]
selectable := rc.selector(i, rc.selected, false)
rc.options[i].Draw(hovered, selected, selectable, rc.render.options[i])
y -= rc.layout.Option.Dy
}
rc.render.all_options.PopClipPlanes()
}
{ // Text
d := base.GetDictionary(15)
x := r.X
y := float64(r.Y) + d.MaxHeight()/2
x1 := float64(x + r.Dx/3)
x2 := float64(x + (2*r.Dx)/3)
rc.render.done = gui.Region{
gui.Point{x, r.Y},
gui.Dims{r.Dx / 2, int(d.MaxHeight() * 2)},
}
rc.render.undo = gui.Region{
gui.Point{x + r.Dx/2, r.Y},
gui.Dims{r.Dx / 2, int(d.MaxHeight() * 2)},
}
if rc.mouse.Inside(rc.render.done) {
gl.Color4d(1, 1, 1, 1)
} else {
gl.Color4d(0.6, 0.6, 0.6, 1)
}
d.RenderString("Done", x1, y, 0, d.MaxHeight(), gui.Center)
if rc.on_undo != nil {
if rc.mouse.Inside(rc.render.undo) {
gl.Color4d(1, 1, 1, 1)
} else {
gl.Color4d(0.6, 0.6, 0.6, 1)
}
d.RenderString("Undo", x2, y, 0, d.MaxHeight(), gui.Center)
}
}
}
示例4: Draw
func (gp *GamePanel) Draw(region gui.Region) {
gp.AnchorBox.Draw(region)
region.PushClipPlanes()
defer region.PopClipPlanes()
}
示例5: Draw
//.........这里部分代码省略.........
gl.Disable(gl.TEXTURE_2D)
gl.Color4d(1, 0, 0, 1)
gl.Begin(gl.QUADS)
gl.Vertex3d(xpos-2, m.layout.Actions.Y-2, 0)
gl.Vertex3d(xpos-2, m.layout.Actions.Y+s+2, 0)
gl.Vertex3d(xpos+s+2, m.layout.Actions.Y+s+2, 0)
gl.Vertex3d(xpos+s+2, m.layout.Actions.Y-2, 0)
gl.End()
}
gl.Enable(gl.TEXTURE_2D)
action.Icon().Data().Bind()
if action.Preppable(m.ent, m.game) {
gl.Color4d(1, 1, 1, 1)
} else {
gl.Color4d(0.5, 0.5, 0.5, 1)
}
gl.Begin(gl.QUADS)
gl.TexCoord2d(0, 0)
gl.Vertex3d(xpos, m.layout.Actions.Y, 0)
gl.TexCoord2d(0, -1)
gl.Vertex3d(xpos, m.layout.Actions.Y+s, 0)
gl.TexCoord2d(1, -1)
gl.Vertex3d(xpos+s, m.layout.Actions.Y+s, 0)
gl.TexCoord2d(1, 0)
gl.Vertex3d(xpos+s, m.layout.Actions.Y, 0)
gl.End()
gl.Disable(gl.TEXTURE_2D)
ypos := m.layout.Actions.Y - d.MaxHeight() - 2
d.RenderString(fmt.Sprintf("%d", i+1), xpos+s/2, ypos, 0, d.MaxHeight(), gui.Center)
xpos += spacing + m.layout.Actions.Icon_size
}
r.PopClipPlanes()
// Now, if there is a selected action, position it between the arrows
if m.state.Actions.selected != nil {
// a := m.state.Actions.selected
d := base.GetDictionary(15)
x := m.layout.Actions.X + m.layout.Actions.Width/2
y := float64(m.layout.ActionLeft.Y)
str := fmt.Sprintf("%s:%dAP", m.state.Actions.selected.String(), m.state.Actions.selected.AP())
gl.Color4d(1, 1, 1, 1)
d.RenderString(str, x, y, 0, d.MaxHeight(), gui.Center)
}
}
// Conditions
{
gl.Color4d(1, 1, 1, 1)
c := m.layout.Conditions
d := base.GetDictionary(int(c.Size))
ypos := c.Y + c.Height - d.MaxHeight() + m.state.Conditions.scroll_pos
var r gui.Region
r.X = int(c.X)
r.Y = int(c.Y)
r.Dx = int(c.Width)
r.Dy = int(c.Height)
r.PushClipPlanes()
for _, s := range m.ent.Stats.ConditionNames() {
d.RenderString(s, c.X+c.Width/2, ypos, 0, d.MaxHeight(), gui.Center)
ypos -= float64(d.MaxHeight())
}
r.PopClipPlanes()
}
// Gear
if m.ent.ExplorerEnt != nil && m.ent.ExplorerEnt.Gear != nil {
gear := m.ent.ExplorerEnt.Gear
layout := m.layout.Gear
icon := gear.Small_icon.Data()
icon.RenderNatural(int(layout.X), int(layout.Y))
d := base.GetDictionary(10)
d.RenderString("Gear", layout.X+float64(icon.Dx())/2, layout.Y-d.MaxHeight(), 0, d.MaxHeight(), gui.Center)
}
}
// Mouseover text
if m.state.MouseOver.active {
var x int
switch m.state.MouseOver.location {
case mouseOverActions:
x = int(m.layout.Actions.X + m.layout.Actions.Width/2)
case mouseOverConditions:
x = int(m.layout.Conditions.X + m.layout.Conditions.Width/2)
case mouseOverGear:
default:
base.Warn().Printf("Got an unknown mouseover location: %d", m.state.MouseOver.location)
m.state.MouseOver.active = false
}
y := m.layout.Background.Data().Dy() - 40
d := base.GetDictionary(15)
d.RenderString(m.state.MouseOver.text, float64(x), float64(y), 0, d.MaxHeight(), gui.Center)
}
}