public override void CreateUI(GLEx g, int x, int y, LComponent component, LTexture[] buttonImage) { LButton button = (LButton)component; if (buttonImage != null) { if (!button.IsEnabled()) { g.DrawTexture(buttonImage[3], x, y); } else if (button.IsTouchPressed()) { g.DrawTexture(buttonImage[2], x, y); } else if (button.IsTouchOver()) { g.DrawTexture(buttonImage[1], x, y); } else { if (type == 1) { g.DrawTexture(buttonImage[0], x, y, LColor.gray); } else { g.DrawTexture(buttonImage[0], x, y); } } } if (text != null) { LFont old = g.GetFont(); g.SetFont(font); g.SetColor(fontColor); g.DrawString( text, x + button.GetOffsetLeft() + (button.GetWidth() - font.StringWidth(text)) / 2, y + button.GetOffsetTop() + (button.GetHeight() - font.GetLineHeight()) / 2 + font.GetLineHeight()); g.SetFont(old); g.ResetColor(); } }
public void Draw(GLEx g, float x, float y, float w, float h) { if (isClose) { return; } lock (buffer) { g.DrawTexture(buffer.Texture, x, y, w, h); } }
public virtual void CreateUI(GLEx g) { if (visible) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.DrawTexture(image, X(), Y()); if (alpha > 0 && alpha < 1) { g.SetAlpha(1.0f); } } }
public void CreateUI(GLEx g) { if (!visible) { return; } if (!complete) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.DrawTexture(texture, X(), Y()); if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } } }
public override void CreateUI(GLEx g) { base.CreateUI(g); switch (type) { case 0: if (a1 == null) { a1 = Animation.GetDefaultAnimation("assets/s.png", 3, 48, 48, 100); } animation = a1; break; case 2: if (a2 == null) { a2 = Animation .GetDefaultAnimation("assets/s1.png", 48, 48, 100); } animation = a2; break; default: break; } if (animation == null) { return; } if (type == 0 || type == 2) { LTexture img = animation.GetSpriteImage(); if (img != null) { g.DrawTexture(img, X() + (GetWidth() - img.GetWidth()) / 2, Y() + (GetHeight() - img.GetHeight()) / 2); } } }
public virtual void CreateUI(GLEx g) { if (isClose) { return; } if (replaceLoading) { if (replaceDstScreen == null || !replaceDstScreen.IsOnLoadComplete()) { Repaint(g); } else if (replaceDstScreen.IsOnLoadComplete()) { if (isScreenFrom) { Repaint(g); if (replaceDstScreen.color != null) { g.SetColor(replaceDstScreen.color); g.FillRect(dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); g.ResetColor(); } if (replaceDstScreen.currentScreen != null) { g.DrawTexture(replaceDstScreen.currentScreen, dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); } if (dstPos.X() != 0 || dstPos.Y() != 0) { g.SetClip(dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); g.Translate(dstPos.X(), dstPos.Y()); } replaceDstScreen.CreateUI(g); if (dstPos.X() != 0 || dstPos.Y() != 0) { g.Translate(-dstPos.X(), -dstPos.Y()); g.ClearClip(); } } else { if (replaceDstScreen.color != null) { g.SetColor(replaceDstScreen.color); g.FillRect(0, 0, GetWidth(), GetHeight()); g.ResetColor(); } if (replaceDstScreen.currentScreen != null) { g.DrawTexture(replaceDstScreen.currentScreen, 0, 0, GetWidth(), GetHeight()); } replaceDstScreen.CreateUI(g); if (color != null) { g.SetColor(color); g.FillRect(dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); g.ResetColor(); } if (GetBackground() != null) { g.DrawTexture(currentScreen, dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); } if (dstPos.X() != 0 || dstPos.Y() != 0) { g.SetClip(dstPos.X(), dstPos.Y(), GetWidth(), GetHeight()); g.Translate(dstPos.X(), dstPos.Y()); } Repaint(g); if (dstPos.X() != 0 || dstPos.Y() != 0) { g.Translate(-dstPos.X(), -dstPos.Y()); g.ClearClip(); } } } } else { Repaint(g); } }
/// <summary> /// ��Ⱦ��ǰ���������ָ����ͼ��֮�� /// </summary> /// /// <param name="g"></param> public virtual void CreateUI(GLEx g) { if (isClose) { return; } if (!this.visible) { return; } int width = this.GetWidth(); int height = this.GetHeight(); if (rotation != 0) { float centerX = this.screenX + width / 2; float centerY = this.screenY + height / 2; g.Rotate(centerX, centerY, rotation); } else if (!(scaleX == 1f && scaleY == 1f)) { g.Scale(scaleX, scaleY); } else if (this.elastic) { g.SetClip(this.screenX, this.screenY, width, height); } // ������� if (alpha > 0.1f && alpha < 1.0f) { g.SetAlpha(alpha); if (background != null) { g.DrawTexture(background, this.screenX, this.screenY, this.width, this.height); } if (this.customRendering) { this.CreateCustomUI(g, this.screenX, this.screenY, this.width, this.height); } else { this.CreateUI(g, this.screenX, this.screenY, this, this.imageUI); } g.SetAlpha(1.0F); // ����� } else { if (background != null) { g.DrawTexture(background, this.screenX, this.screenY, this.width, this.height); } if (this.customRendering) { this.CreateCustomUI(g, this.screenX, this.screenY, this.width, this.height); } else { this.CreateUI(g, this.screenX, this.screenY, this, this.imageUI); } } if (rotation != 0 || !(scaleX == 1f && scaleY == 1f)) { g.Restore(); } else if (this.elastic) { g.ClearClip(); } }
public virtual void CreateUI(GLEx g) { if (!visible) { return; } image = animation.GetSpriteImage(); if (image == null) { return; } float width = (image.GetWidth() * scaleX); float height = (image.GetHeight() * scaleY); if (filterColor == null) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } if (LTrans.TRANS_NONE == transform) { g.DrawTexture(image, X(), Y(), width, height, rotation); } else { g.DrawRegion(image, 0, 0, GetWidth(), GetHeight(), transform, X(), Y(), LTrans.TOP | LTrans.LEFT); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } return; } else { Color old = g.GetColor(); if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.SetColor(filterColor); if (LTrans.TRANS_NONE == transform) { g.DrawTexture(image, X(), Y(), width, height, rotation); } else { g.DrawRegion(image, 0, 0, GetWidth(), GetHeight(), transform, X(), Y(), LTrans.TOP | LTrans.LEFT); } g.SetColor(old); if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } return; } }
// ���� public void Draw(GLEx g) { if (!visible) { return; } alpha = startTime / 255f; g.SetAlpha(alpha); g.DrawTexture(texture, info.offsetX + x, info.offsetY + y , width, height); g.SetAlpha(1f); }
protected override void CreateCustomUI(GLEx g, int x, int y, int w, int h) { if (!visible) { return; } if (batch == null) { return; } sizeFont = messageFont.GetSize(); if (sizeFont > 25) { sizeFont = messageFont.GetSize(); doubleSizeFont = sizeFont * 2; if (doubleSizeFont == 0) { doubleSizeFont = 20; } messageLeft = (x + doubleSizeFont + sizeFont / 2) + tmpOffset + left + doubleSizeFont; batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, GLEx.Device.RasterizerState, null, GLEx.cemera.viewMatrix); if (message != null) { messageTop = y + doubleSizeFont + top - 10; batch.DrawString(messageFont.Font, message, new Vector2(messageLeft, messageTop), fontColor.Color); } else { messageTop = y + top; } nTop = messageTop; if (selects != null) { nLeft = messageLeft - sizeFont / 4; for (int i = 0; i < selects.Length; i++) { nTop += messageFont.GetHeight(); type = i + 1; isSelect = (type == ((selectFlag > 0) ? selectFlag : 1)); if ((buoyage != null) && isSelect) { g.SetAlpha(autoAlpha); g.DrawTexture(buoyage, nLeft, nTop - (int)(buoyage.GetHeight() / 1.5f)); g.SetAlpha(1.0F); } batch.DrawString(messageFont.Font, selects[i], new Vector2(messageLeft, nTop), fontColor.Color); if ((cursor != null) && isSelect) { batch.Draw(cursor.Texture, new Vector2(nLeft, nTop - cursor.GetHeight() / 4), Color.White); } } batch.End(); } } else { doubleSizeFont = (int)(sizeFont * 1.4f * 2); if (doubleSizeFont == 0) { doubleSizeFont = 20; } messageLeft = (x + doubleSizeFont + sizeFont / 2) + tmpOffset + left + doubleSizeFont; batch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend); if (message != null) { messageTop = y + doubleSizeFont + top + (int)(messageFont.GetAscent() * 2) + 10; batch.DrawString(messageFont.Font, message, new Vector2(messageLeft, messageTop), fontColor.Color); } else { messageTop = y + top + (int)(messageFont.GetAscent() * 2) + 10; } nTop = messageTop; if (selects != null) { nLeft = messageLeft - sizeFont / 4; for (int i = 0; i < selects.Length; i++) { nTop += (int)((messageFont.GetHeight() + messageFont.GetAscent()) * 1.2f); type = i + 1; isSelect = (type == ((selectFlag > 0) ? selectFlag : 1)); if ((buoyage != null) && isSelect) { g.SetAlpha(autoAlpha); g.DrawTexture(buoyage, nLeft, nTop - (int)(buoyage.GetHeight() / 1.5f)); g.SetAlpha(1.0F); } batch.DrawString(messageFont.Font, selects[i], new Vector2(messageLeft, nTop), fontColor.Color); if ((cursor != null) && isSelect) { batch.Draw(cursor.Texture, new Vector2(nLeft, (nTop - cursor.GetHeight() / 4)), Color.White); } } batch.End(); } } }
public override void Draw(GLEx g) { if (!running || !IsOnLoadComplete() || IsClose()) { return; } if (scrCG == null) { return; } if (scrCG.sleep == 0) { scrCG.Paint(g); DrawScreen(g); if (desktop != null) { desktop.CreateUI(g); } if (sprites != null) { sprites.CreateUI(g); } } else { scrCG.sleep--; if (color != null) { float alpha = (float)(scrCG.sleepMax - scrCG.sleep) / scrCG.sleepMax; if (alpha > 0 && alpha < 1.0) { if (scrCG.getBackgroundCG() != null) { g.DrawTexture(scrCG.getBackgroundCG(), 0, 0); } Color c = g.GetColor(); g.SetColor(color.R, color.G, color.B, (byte)(alpha * 255)); g.FillRect(0, 0, GetWidth(), GetHeight()); g.SetColor(c); } else { Color c = g.GetColor(); g.SetColor(color); g.FillRect(0, 0, GetWidth(), GetHeight()); g.SetColor(c); } } if (scrCG.sleep <= 0) { scrCG.sleep = 0; color = null; } g.SetAlpha(1.0f); } }
public void Draw(GLEx g, SpriteBatch batch, float offsetX, float offsetY) { if (arrays.Count == 0) { throw new RuntimeException("Not to add any tiles !"); } bool useBatch = (batch != null); imgPack.GLBegin(); firstTileX = field.PixelsToTilesWidth(-offsetX); firstTileY = field.PixelsToTilesHeight(-offsetY); lastTileX = firstTileX + field.PixelsToTilesWidth(maxWidth) + 1; lastTileX = MathUtils.Min(lastTileX, field.GetWidth()); lastTileY = firstTileY + field.PixelsToTilesHeight(maxHeight) + 1; lastTileY = MathUtils.Min(lastTileY, field.GetHeight()); int[][] maps = field.GetMap(); for (int i = firstTileX; i < lastTileX; i++) { for (int j = firstTileY; j < lastTileY; j++) { if (i > -1 && j > -1 && i < field.GetWidth() && j < field.GetHeight()) { int id = maps[j][i]; foreach (Tile tile in arrays) { if (playAnimation) { if (tile.id == id) { if (tile.isAnimation) { if (useBatch) { batch.Draw( tile.animation.GetSpriteImage(), field.TilesToWidthPixels(i) + offsetX, field.TilesToHeightPixels(j) + offsetY, field.GetTileWidth(), field.GetTileHeight()); } else { g.DrawTexture( tile.animation.GetSpriteImage(), field.TilesToWidthPixels(i) + offsetX, field.TilesToHeightPixels(j) + offsetY, field.GetTileWidth(), field.GetTileHeight()); } } else { imgPack.Draw(tile.imgId, field.TilesToWidthPixels(i) + offsetX, field.TilesToHeightPixels(j) + offsetY, field.GetTileWidth(), field.GetTileHeight()); } } } else if (tile.id == id) { imgPack.Draw(tile.imgId, field.TilesToWidthPixels(i) + offsetX, field.TilesToHeightPixels(j) + offsetY, field.GetTileWidth(), field.GetTileHeight()); } } } } } imgPack.GLEnd(); lastOffsetX = (int)offsetX; lastOffsetY = (int)offsetY; dirty = false; if (listener != null) { listener.Draw(g, lastOffsetX, lastOffsetY); } }
public void DrawWidth(GLEx g, int x, int y) { try { if (drawTexWidth == null) { LPixmap img = new LPixmap(width, height, true); for (int i = 0; i < width; i++) { img.SetColor( (byte)((start.R * (width - i)) / width + (end.R * i) / width), (byte)((start.G * (width - i)) / width + (end.G * i) / width), (byte)((start.B * (width - i)) / width + (end.B * i) / width), (byte)alpha); img.DrawLine(i, 0, i, height); } drawTexWidth = img.Texture; } g.DrawTexture(drawTexWidth, x, y); } catch { for (int i = 0; i < width; i++) { g.SetColor( (byte)((start.R * (width - i)) / width + (end.R * i) / width), (byte)((start.G * (width - i)) / width + (end.G * i) / width), (byte)((start.B * (width - i)) / width + (end.B * i) / width), (byte)alpha); g.DrawLine(i + x, y, i + x, y + height); } } }
public void DrawHeight(GLEx g, int x, int y) { try { if (drawTexHeight == null) { LPixmap img = new LPixmap(width, height, true); for (int i = 0; i < height; i++) { img.SetColor((byte)( (start.R * (height - i)) / height + (end.R * i) / height), (byte)((start.G * (height - i)) / height + (end.G * i) / height), (byte)((start.B * (height - i)) / height + (end.B * i) / height), (byte)(alpha)); img.DrawLine(0, i, width, i); } drawTexHeight = img.Texture; } g.DrawTexture(drawTexHeight, x, y); } catch { for (int i = 0; i < height; i++) { g.SetColor( (byte)((start.R * (height - i)) / height + (end.R * i) / height), (byte)((start.G * (height - i)) / height + (end.G * i) / height), (byte)((start.B * (height - i)) / height + (end.B * i) / height), (byte)alpha); g.DrawLine(x, i + y, x + width, i + y); } } }
public void Draw(GLEx g, int x, int y, int sx, int sy, LColor color) { if (target.IsBatch()) { float nx = sx * tw; float ny = sy * th; target.Draw(x, y, tw, th, nx, ny, nx + tw, ny + th, color); } else { CheckImage(sx, sy); g.DrawTexture(subImages[sx][sy], x, y); } }
protected override void CreateCustomUI(GLEx g, int x, int y, int w, int h) { if (!visible) { return; } LFont oldFont = g.GetFont(); g.SetFont(messageFont); print.Draw(g, fontColor); g.SetFont(oldFont); if (print.IsComplete() && animation != null) { if (animation.GetSpriteImage() != null) { g.SetAlpha(1.0F); UpdateIcon(); g.DrawTexture(animation.GetSpriteImage(), dx, dy); } } g.ResetColor(); }
public void CreateUI(GLEx g) { if (!visible) { return; } if (complete) { if (ntexture != null) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.DrawTexture(ntexture, X(), Y()); if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } } return; } if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } part = 0; left = 0; right = 0; tmp = null; switch (code) { default: part = width / this.maxcount / 2; for (int i = 0; i <= this.maxcount; i++) { if (i <= this.count) { tmp = this.ntexture; if (tmp == null) { continue; } } else { tmp = this.otexture; } tmp.GLBegin(); left = i * 2 * part; right = width - ((i + 1) * 2 - 1) * part; tmp.Draw(X() + left, Y(), part, height, left, 0, left + part, height); tmp.Draw(X() + right, Y(), part, height, right, 0, right + part, height); tmp.GLEnd(); } break; case 1: part = height / this.maxcount / 2; for (int i = 0; i <= this.maxcount; i++) { if (i <= this.count) { tmp = this.ntexture; if (tmp == null) { continue; } } else { tmp = this.otexture; } int up = i * 2 * part; int down = height - ((i + 1) * 2 - 1) * part; tmp.GLBegin(); tmp.Draw(0, up, width, part, 0, up, width, up + part); tmp.Draw(0, down, width, part, 0, down, width, down + part); tmp.GLEnd(); } break; } if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } }
public override void CreateUI(GLEx g, int x, int y, LComponent component, LTexture[] buttonImage) { if (this.visible) { g.SetAlpha(0.5f); g.DrawTexture(controlBase, x, y, baseWidth, baseHeight); g.DrawTexture(controlDot, x + centerX, y + centerY, dotWidth, dotHeight); g.SetAlpha(1f); } }
public void Draw(GLEx gl, long elapsed) { if (logo == null || finish) { return; } if (!logo.isLoaded) { this.logo.LoadTexture(); this.centerX = (int)(LSystem.screenRect.width * LSystem.scaleWidth) / 2 - logo.Width / 2; this.centerY = (int)(LSystem.screenRect.height * LSystem.scaleHeight) / 2 - logo.Height / 2; } if (logo == null || !logo.isLoaded) { finish = true; return; } lock (logo) { gl.Clear(); color.A = (byte)(255 * alpha); gl.DrawTexture(logo, centerX, centerY, color); } switch (type) { case 0: if (alpha >= 1f) { alpha = 1f; type = 1; } if (alpha < 1.0f) { if (timer.Action(elapsed)) { alpha += 0.015f; } } break; case 1: if (timer.Action(elapsed)) { alpha = 1f; type = 2; } break; case 2: if (alpha > 0.0f) { if (timer.Action(elapsed)) { alpha -= 0.015f; } } else if (alpha <= 0f) { alpha = 0; type = 3; finish = true; if (logo != null) { logo.Destroy(); logo = null; } return; } break; } }
public void CreateUI(GLEx g) { if (isClose) { return; } if (!visible) { return; } lock (image) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } if (!IsComplete() && isDirty) { g.DrawTexture(image.Texture, x, y, width, height); isDirty = false; } else if (!IsComplete()) { g.DrawTexture(image.Texture, x, y, width, height); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } } }