// 绘制 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); }
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) { LFont oldFont = g.GetFont(); uint oldColor = g.GetColorRGB(); g.SetFont(font); g.SetColor(color); this.width = font.StringWidth(label); this.height = font.GetSize(); if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); g.DrawString(label, X(), Y()); g.SetAlpha(1.0F); } else { g.DrawString(label, X(), Y()); } g.SetFont(oldFont); g.SetColor(oldColor); } }
public void Draw(GLEx gl) { if (logo == null || finish) { return; } if (!logo.IsLoaded()) { this.logo.LoadTexture(); } if (centerX == 0 || centerY == 0) { this.centerX = (int)(LSystem.screenRect.width) / 2 - logo.GetWidth() / 2; this.centerY = (int)(LSystem.screenRect.height) / 2 - logo.GetHeight() / 2; } if (logo == null || !logo.IsLoaded()) { return; } alpha = (curFrame / curTime); if (inToOut) { curFrame++; if (curFrame == curTime) { alpha = 1f; inToOut = false; } } else if (!inToOut) { curFrame--; if (curFrame == 0) { alpha = 0f; finish = true; } } gl.Reset(true); gl.SetAlpha(alpha); gl.DrawTexture(logo, centerX, centerY); }
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); } LColor c = g.GetColor(); g.SetColor(color.R, color.G, color.B, (byte)(alpha * 255)); g.FillRect(0, 0, GetWidth(), GetHeight()); g.SetColor(c); } else { LColor 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 Paint(GLEx g) { if (background != null) { if (shakeNumber > 0) { g.DrawTexture(background, shakeNumber / 2 - LSystem.random.Next(shakeNumber), shakeNumber / 2 - LSystem.random.Next(shakeNumber)); } else { g.DrawTexture(background, 0, 0); } } lock (charas) { for (int i = 0; i < charas.Size(); i++) { AVGChara chara = (AVGChara)charas.Get(i); if (chara == null || !chara.isVisible) { continue; } if (style) { if (chara.flag != -1) { if (chara.flag == ISprite_Constants.TYPE_FADE_IN) { chara.currentFrame--; if (chara.currentFrame == 0) { chara.opacity = 0; chara.flag = -1; chara.Dispose(); charas.Remove(chara); } } else { chara.currentFrame++; if (chara.currentFrame == chara.time) { chara.opacity = 0; chara.flag = -1; } } chara.opacity = (chara.currentFrame / chara.time) * 255; if (chara.opacity > 0) { g.SetAlpha(chara.opacity / 255); } } } if (chara.isAnimation) { AVGAnm animation = chara.anm; if (animation.load) { if (animation.loop && animation.startTime == -1) { animation.Start(0, loop); } Point.Point2i point = animation.GetPos(JavaRuntime .CurrentTimeMillis()); if (animation.alpha != 1f) { g.SetAlpha(animation.alpha); } g.DrawTexture(animation.texture, chara.x, chara.y, animation.width, animation.height, point.x, point.y, point.x + animation.imageWidth, point.y + animation.imageHeight, animation.angle, animation.color); if (animation.alpha != 1f) { g.SetAlpha(1f); } } } else { chara.Next(); chara.draw(g); } if (style) { if (chara.flag != -1 && chara.opacity > 0) { g.SetAlpha(1f); } } } } }
public override void CreateUI(GLEx g, int x, int y, LComponent component, LTexture[] buttonImage) { if (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 CreateUI(GLEx g) { if (isClose) { return; } if (!isVisible) { return; } if (IsComplete()) { return; } if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } pixmap.Draw(g, X(), Y(), width, height); if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } }
public void CreateUI(GLEx g) { if (!visible) { return; } if (complete) { return; } if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } if (count <= 1) { g.SetColor(color); g.FillRect(X(), Y(), width, height); g.ResetColor(); } else { g.SetColor(color); float length = MathUtils.Sqrt(MathUtils.Pow(width / 2, 2.0f) + MathUtils.Pow(height / 2, 2.0f)); float x = GetX() + (width / 2 - length); float y = GetY() + (height / 2 - length); float w = width / 2 + length - x; float h = height / 2 + length - y; float deg = 360f / this.div * this.count; g.FillArc(x, y, w, h, 20, 0, this.sign[this.turn] * deg); g.ResetColor(); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } }
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 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.1d && alpha < 1.0d) { g.SetAlpha(alpha); if (background != null) { g.DrawTexture(background, this.screenX, this.screenY, width, height); } if (this.customRendering) { this.CreateCustomUI(g, this.screenX, this.screenY, width, height); } else { this.CreateUI(g, this.screenX, this.screenY, this, this.imageUI); } g.SetAlpha(1F); } else { if (background != null) { g.DrawTexture(background, this.screenX, this.screenY, width, height); } if (this.customRendering) { this.CreateCustomUI(g, this.screenX, this.screenY, width, 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(); } }
protected internal override void CreateCustomUI(GLEx g, int x, int y, int w, int h) { if (!visible) { return; } LColor oldColor = g.GetColor(); LFont oldFont = g.GetFont(); g.SetColor(fontColor); g.SetFont(messageFont); sizeFont = messageFont.GetSize(); doubleSizeFont = sizeFont * 2; if (doubleSizeFont == 0) { doubleSizeFont = 20; } messageLeft = (x + doubleSizeFont + sizeFont / 2) + tmpOffset + left + doubleSizeFont; // g.setAntiAlias(true); if (message != null) { messageTop = y + doubleSizeFont + top + 2; g.DrawString(message, messageLeft, messageTop); } else { messageTop = y + top + 2; } nTop = messageTop; if (selects != null) { nLeft = messageLeft - sizeFont / 4; for (int i = 0; i < selects.Length; i++) { nTop += 30; 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); } g.DrawString(selects[i], messageLeft, nTop); if ((cursor != null) && isSelect) { g.DrawTexture(cursor, nLeft, nTop - cursor.GetHeight() / 2, LColor.white); } } } // g.setAntiAlias(false); g.SetColor(oldColor); g.SetFont(oldFont); }
public void Draw(GLEx g, LColor old) { if (!visible) { return; } alpha = g.GetAlpha(); if (alpha > 0 && alpha < 1) { g.SetAlpha(1.0f); } DrawMessage(g, old); if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } }
protected internal 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 virtual void CreateUI(GLEx g) { if (!visible) { return; } if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.SetColor(color); for (int i = 0; i < drops.Length; ++i) { g.FillOval((int)drops[i].x, (int)drops[i].y, 2, 2); } g.ResetColor(); if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } }
public void CreateUI(GLEx g) { if (!isVisible) { return; } this.Setup(); int pointsLength = points.Count; Progress point; int index; int frameD; int indexD; float size = (pointsLength * this.trailLength); for (float i = -1, l = size; ++i < l && !this.stopped;) { index = (int) (frame + i); if (index < pointsLength) { point = points[index]; } else { point = points[index - pointsLength]; } this.alpha = (i / (l - 1)); frameD = frame / (pointsLength - 1); indexD = (int) alpha; if (lineWidth > 0) { g.SetLineWidth(lineWidth); } if (scaleX != 1 || scaleY != 1) { g.Scale(scaleX, scaleY); } if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } g.SetColor(color); Step(g, point, indexD, frameD, color, alpha); g.ResetColor(); if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } if (lineWidth > 0) { g.ResetLineWidth(); } if (scaleX != 1 || scaleY != 1) { g.Restore(); } } }
public override void Step(GLEx g, float x, float y, float progress, int index, int frame, LColor color, float alpha) { float cx = this.padding + 50, cy = this.padding + 50, angle = (MathUtils.PI / 180) * (progress * 360); alpha = MathUtils.Max(0.5f, alpha); g.SetAlpha(alpha); if (path == null) { path = new Path(GetX() + x * scale, GetY() + y * scale); } else { path.Clear(); path.Set(GetX() + x * scale, GetY() + y * scale); } path.LineTo(GetX() + ((MathUtils.Cos(angle) * 35) + cx) * scale, GetY() + ((MathUtils.Sin(angle) * 35) + cy) * scale); path.Close(); g.Draw(path); if (path == null) { path = new Path(GetX() + ((MathUtils.Cos(-angle) * 32) + cx) * scale, GetY() + ((MathUtils.Sin(-angle) * 32) + cy) * scale); } else { path.Clear(); path.Set(GetX() + ((MathUtils.Cos(-angle) * 32) + cx) * scale, GetY() + ((MathUtils.Sin(-angle) * 32) + cy) * scale); } path.LineTo(GetX() + ((MathUtils.Cos(-angle) * 27) + cx) * scale, GetY() + ((MathUtils.Sin(-angle) * 27) + cy) * scale); path.Close(); g.Draw(path); g.SetAlpha(1); }
public 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(), LGraphics.TOP | LGraphics.LEFT); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } return; } else { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } if (LTrans.TRANS_NONE == transform) { g.DrawTexture(image, X(), Y(), width, height, rotation, filterColor); } else { g.DrawRegion(image, 0, 0, GetWidth(), GetHeight(), transform, X(), Y(), LGraphics.TOP | LGraphics.LEFT, filterColor); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1); } return; } }
public void CreateUI(GLEx g) { if (!visible) { return; } if (!complete) { if (alpha > 0 && alpha < 1) { g.SetAlpha(alpha); } float x1 = v1.x + GetX(); float y1 = v1.y + GetY(); float x2 = v2.x + GetX(); float y2 = v2.y + GetY(); texture.GLBegin(); switch (direction) { case Config.LEFT: case Config.RIGHT: case Config.TUP: case Config.TDOWN: texture.Draw(x1, y1, width, halfHeight, 0, 0, width, halfHeight); texture.Draw(x2, y2, width, halfHeight, 0, halfHeight, width, height); break; case Config.UP: case Config.DOWN: case Config.TLEFT: case Config.TRIGHT: texture.Draw(x1, y1, halfWidth, height, 0, 0, halfWidth, height); texture.Draw(x2, y2, halfWidth, height, halfWidth, 0, width, height); break; } texture.GLEnd(); if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } } }
public void CreateUI(GLEx g) { if (!visible) { return; } if (style < 2) { if (alpha > 0.1f && alpha < 1.0f) { g.SetAlpha(alpha); wait.Draw(g, X(), Y()); g.SetAlpha(1.0F); } else { wait.Draw(g, X(), Y()); } } else { if (cycle != null) { cycle.CreateUI(g); } } }
public virtual void PaintObjects(GLEx g, int minX, int minY, int maxX, int maxY) { lock (objects) { IIterator it = objects.Iterator(); for (; it.HasNext(); ) { thing = (Actor)it.Next(); if (!thing.visible) { continue; } isListener = (thing.actorListener != null); if (isVSync) { if (isListener) { thing.actorListener.Update(elapsedTime); } thing.Update(elapsedTime); } RectBox rect = thing.GetRectBox(); actorX = minX + thing.GetX(); actorY = minY + thing.GetY(); actorWidth = rect.width; actorHeight = rect.height; if (actorX + actorWidth < minX || actorX > maxX || actorY + actorHeight < minY || actorY > maxY) { continue; } LTexture actorImage = thing.GetImage(); if (actorImage != null) { width = (actorImage.GetWidth() * thing.scaleX); height = (actorImage.GetHeight() * thing.scaleY); isBitmapFilter = (thing.filterColor != null); thing.SetLastPaintSeqNum(paintSeq++); angle = thing.GetRotation(); colorAlpha = thing.alpha; if (thing.isAnimation) { if (isBitmapFilter) { g.DrawTexture(actorImage, actorX, actorY, width, height, angle, thing.filterColor); } else { if (colorAlpha != 1f) { g.SetAlpha(colorAlpha); } g.DrawTexture(actorImage, actorX, actorY, width, height, angle); if (colorAlpha != 1f) { g.SetAlpha(1f); } } } else { int texId = actorImage.GetTextureID(); LTextureBatch batch = (LTextureBatch)textures .GetValue(texId); if (batch == null) { LTextureBatch pBatch = LTextureBatch .BindBatchCache(this, texId, actorImage); batch = pBatch; batch.GLBegin(); textures.Put(texId, batch); } batch.SetTexture(actorImage); if (isBitmapFilter) { batch.Draw(actorX, actorY, width, height, angle, thing.filterColor); } else { if (colorAlpha != 1f) { alphaColor.a = colorAlpha; } batch.Draw(actorX, actorY, width, height, angle, alphaColor); if (colorAlpha != 1f) { alphaColor.a = 1; } } } } if (thing.isConsumerDrawing) { if (actorX == 0 && actorY == 0) { thing.Draw(g); if (isListener) { thing.actorListener.Draw(g); } } else { g.Translate(actorX, actorY); thing.Draw(g); if (isListener) { thing.actorListener.Draw(g); } g.Translate(-actorX, -actorY); } } } int size = textures.Size(); if (size > 0) { for (int i = 0; i < size; i++) { LTextureBatch batch = (LTextureBatch)textures.Get(i); batch.GLEnd(); } textures.Clear(); } } }
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.DrawTexture2D(image.GetBitmap(), X(), Y(), width, height); isDirty = false; } else if (!IsComplete()) { g.DrawTexture2D(image.GetBitmap(), X(), Y(), width, height); } if (alpha > 0 && alpha < 1) { g.SetAlpha(1f); } } }
public void Draw(GLEx g, int x, int y) { LColor oldColor = g.GetColor(); g.SetColor(color); switch (style) { case 0: float alpha = 0.0f; int nx = x + width / 2 - (int)r * 4, ny = y + height / 2 - (int)r * 4; g.Translate(nx, ny); for (IIterator it = new IteratorAdapter(list.GetEnumerator()); it.HasNext(); ) { RectBox s = (RectBox)it.Next(); alpha = alpha + 0.1f; g.SetAlpha(alpha); g.FillOval(s.x, s.y, s.width, s.height); } g.SetAlpha(1.0F); g.Translate(-nx, -ny); break; case 1: g.SetLineWidth(10); g.Translate(x, y); g.SetColor(Fill); g.DrawOval(0, 0, width, height); int sa = angle % 360; g.FillArc(x + (width - paintWidth) / 2, y + (height - paintHeight) / 2, paintWidth, paintHeight, sa, sa + ANGLE_STEP); g.Translate(-x, -y); g.ResetLineWidth(); break; } g.SetColor(oldColor); }