mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-16 18:55:03 -04:00
Subtle gray background for images when hovered, mostly for dark items to be able to see them better.
Also more state witchery.
This commit is contained in:
parent
2d9764da8c
commit
e91f6671c4
@ -35,6 +35,11 @@ object Document {
|
||||
def render(document: Iterable[Segment], x: Int, y: Int, maxWidth: Int, maxHeight: Int, yOffset: Int, renderer: FontRenderer, mouseX: Int, mouseY: Int): Option[InteractiveSegment] = {
|
||||
val mc = Minecraft.getMinecraft
|
||||
|
||||
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS)
|
||||
|
||||
// Because reasons.
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST)
|
||||
|
||||
// Clear depth mask, then create masks in foreground above and below scroll area.
|
||||
GL11.glColor4f(1, 1, 1, 1)
|
||||
GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT)
|
||||
@ -70,6 +75,9 @@ object Document {
|
||||
}
|
||||
if (mouseX < x || mouseX > x + maxWidth || mouseY < y || mouseY > y + maxHeight) hovered = None
|
||||
hovered.foreach(_.notifyHover())
|
||||
|
||||
GL11.glPopAttrib()
|
||||
|
||||
hovered
|
||||
}
|
||||
|
||||
|
@ -21,18 +21,44 @@ private[markdown] class RenderSegment(val parent: Segment, val title: String, va
|
||||
}
|
||||
|
||||
override def render(x: Int, y: Int, indent: Int, maxWidth: Int, minY: Int, maxY: Int, renderer: FontRenderer, mouseX: Int, mouseY: Int): Option[InteractiveSegment] = {
|
||||
val xOffset = (maxWidth - imageWidth(maxWidth)) / 2
|
||||
val width = imageWidth(maxWidth)
|
||||
val height = imageHeight(maxWidth)
|
||||
val xOffset = (maxWidth - width) / 2
|
||||
val yOffset = 4 + (if (indent > 0) Document.lineHeight(renderer) else 0)
|
||||
val s = scale(maxWidth)
|
||||
|
||||
GL11.glColor4f(1, 1, 1, 1)
|
||||
val hovered = checkHovered(mouseX, mouseY, x + xOffset, y + yOffset, width, height)
|
||||
|
||||
GL11.glPushMatrix()
|
||||
GL11.glTranslatef(x + xOffset, y + yOffset, 0)
|
||||
GL11.glScalef(s, s, s)
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND)
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST)
|
||||
|
||||
if (hovered.isDefined) {
|
||||
GL11.glColor4f(1, 1, 1, 0.15f)
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D)
|
||||
GL11.glBegin(GL11.GL_QUADS)
|
||||
GL11.glVertex2f(0, 0)
|
||||
GL11.glVertex2f(0, imageRenderer.getHeight)
|
||||
GL11.glVertex2f(imageRenderer.getWidth, imageRenderer.getHeight)
|
||||
GL11.glVertex2f(imageRenderer.getWidth, 0)
|
||||
GL11.glEnd()
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D)
|
||||
}
|
||||
|
||||
GL11.glColor4f(1, 1, 1, 1)
|
||||
|
||||
imageRenderer.render()
|
||||
|
||||
GL11.glDisable(GL11.GL_BLEND)
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST)
|
||||
GL11.glDisable(GL11.GL_LIGHTING)
|
||||
|
||||
GL11.glPopMatrix()
|
||||
|
||||
checkHovered(mouseX, mouseY, x + xOffset, y + yOffset, imageWidth(maxWidth), imageHeight(maxWidth))
|
||||
hovered
|
||||
}
|
||||
|
||||
override def toString: String = s"{RendererSegment: title = $title, imageRenderer = $imageRenderer}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user