-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- if (WantConfig) then return { name = 'BigCursor', desc = 'draw a big cursor', author = 'trepan', date = 'Jan 27, 2009', license = 'LGPL 2.1', enabled = true, niceness = 0, } end -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Automatically generated local definitions -- (using misc/lua_localizer.lua) local GL_ENABLE_BIT = GL.ENABLE_BIT local GL_HINT_BIT = GL.HINT_BIT local GL_LINES = GL.LINES local GL_NICEST = GL.NICEST local GL_POINTS = GL.POINTS local bzGetMousePosition = bz.GetMousePosition local bzGetViewGeometry = bz.GetViewGeometry local bzSetGfxBlock = bz.SetGfxBlock local glBeginEnd = gl.BeginEnd local glBlending = gl.Blending local glColor = gl.Color local glLineWidth = gl.LineWidth local glPointSize = gl.PointSize local glPopAttrib = gl.PopAttrib local glPushAttrib = gl.PushAttrib local glSmoothing = gl.Smoothing local glVertex = gl.Vertex -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- if (not bzSetGfxBlock('cursor', true)) then return false end function CallIns.DrawScreenStart() -- make sure that smoothing is enabled glPushAttrib(GL_ENABLE_BIT + GL_HINT_BIT) glSmoothing(false, GL_NICEST, false) glBeginEnd(GL_LINES, function() local mx, my = bzGetMousePosition() local vx, vy = bzGetViewGeometry() local a = 0.3 glColor(1, 1, 1, a); glVertex(mx, my); glColor(1, 0, 0, 0); glVertex(mx, 0) glColor(1, 1, 1, a); glVertex(mx, my); glColor(1, 0, 0, 0); glVertex(mx, vy) glColor(1, 1, 1, a); glVertex(mx, my); glColor(0, 0, 1, 0); glVertex( 0, my) glColor(1, 1, 1, a); glVertex(mx, my); glColor(0, 0, 1, 0); glVertex(vx, my) end) glPopAttrib() end function CallIns.DrawScreen() -- make sure that smoothing is enabled glPushAttrib(GL_ENABLE_BIT + GL_HINT_BIT) glSmoothing(GL_NICEST, GL_NICEST, false) local mx, my = bzGetMousePosition() glLineWidth(1.49) glBeginEnd(GL_LINES, function(mx, my) local vx, vy = bzGetViewGeometry() local hx, hy = vx * 0.5, vy * 0.5 glColor(1, 0, 0, 0.1); glVertex(hx, hy) glColor(0, 0, 1, 1.0); glVertex(mx, my) end, mx, my) glLineWidth(1.0) -- note that glPointSize() can not be used in glBeginEnd() blocks glPointSize(6); glColor(1, 1, 1, 1); glBeginEnd(GL_POINTS, glVertex, mx, my) glPointSize(3); glColor(0, 0, 0, 1); glBeginEnd(GL_POINTS, glVertex, mx, my) glPointSize(1); glColor(1, 1, 1, 1) glPopAttrib() end -------------------------------------------------------------------------------- --------------------------------------------------------------------------------