Android Open Source - DivisionByZero Line Guide From Project Back to project page DivisionByZero .
License The source code is released under:
Apache License
If you think the Android project DivisionByZero listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.ggstudios.divisionbyzero;
/ / f r o m w w w . j a v a 2 s . c o m
import com.ggstudios.utils.BufferUtils;
import android.opengl.GLES20;
import static fix.android.opengl.GLES20.glVertexAttribPointer;
public class LineGuide extends Drawable{
private float x, y;
private int horizontalHandle, verticalHandle;
private int textureHandle;
private boolean isVisible = true;
public LineGuide() {
setupBuffers();
}
private void setupBuffers() {
final float lineWidth = Core.SDP * 0.05f;
final float horizontalVertices[] = {
0, 0, //Vertex 0
lineWidth, 0,
0, Core.canvasHeight, //v1
lineWidth, Core.canvasHeight
};
final float verticalVertices[] = {
0, 0, //Vertex 0
Core.canvasWidth, 0, //v1
0, lineWidth,
Core.canvasWidth, lineWidth,
};
horizontalHandle = BufferUtils.copyToBuffer(horizontalVertices);
verticalHandle = BufferUtils.copyToBuffer(verticalVertices);
textureHandle = Core.tm.get(R.drawable.white);
}
public void setXY(float x, float y) {
this.x = x;
this.y = y;
}
public void hide() {
isVisible = false;
}
public void show() {
isVisible = true;
}
@Override
public void draw(float offX, float offY) {
if (!isVisible) return ;
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle);
GLES20.glUniform4f(Core.U_TEX_COLOR_HANDLE, 1f, 0f, 0f, 1f);
GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, horizontalHandle);
glVertexAttribPointer(Core.A_POSITION_HANDLE, 2, GLES20.GL_FLOAT, false, 0, 0);
Utils.resetMatrix();
Utils.translateAndCommit(x, 0);
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, verticalHandle);
glVertexAttribPointer(Core.A_POSITION_HANDLE, 2, GLES20.GL_FLOAT, false, 0, 0);
Utils.translateAndCommit(-x, y);
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
GLES20.glUniform4f(Core.U_TEX_COLOR_HANDLE, 1, 1, 1, 1);
}
@Override
public void refresh() {
setupBuffers();
}
}
Java Source Code List com.ggstudios.divisionbyzero.ActivityAbout.java com.ggstudios.divisionbyzero.ActivityLevelSelection.java com.ggstudios.divisionbyzero.ActivityMainMenu.java com.ggstudios.divisionbyzero.ActivitySettings.java com.ggstudios.divisionbyzero.ActivitySplashScreen.java com.ggstudios.divisionbyzero.ApplicationMain.java com.ggstudios.divisionbyzero.BaseActivity.java com.ggstudios.divisionbyzero.BaseDialog.java com.ggstudios.divisionbyzero.BulletManager.java com.ggstudios.divisionbyzero.Bullet.java com.ggstudios.divisionbyzero.Button.java com.ggstudios.divisionbyzero.Circle.java com.ggstudios.divisionbyzero.ClickableCollection.java com.ggstudios.divisionbyzero.Clickable.java com.ggstudios.divisionbyzero.ConfirmDialog.java com.ggstudios.divisionbyzero.Core.java com.ggstudios.divisionbyzero.CustomGLSurfaceView.java com.ggstudios.divisionbyzero.DialogManager.java com.ggstudios.divisionbyzero.DrawableCollection.java com.ggstudios.divisionbyzero.DrawableString.java com.ggstudios.divisionbyzero.Drawable.java com.ggstudios.divisionbyzero.EndDialog.java com.ggstudios.divisionbyzero.Event.java com.ggstudios.divisionbyzero.ExplosionGenerator.java com.ggstudios.divisionbyzero.ExtrasManager.java com.ggstudios.divisionbyzero.FontManager.java com.ggstudios.divisionbyzero.GameRenderer.java com.ggstudios.divisionbyzero.GameUpdater.java com.ggstudios.divisionbyzero.Game.java com.ggstudios.divisionbyzero.Grid.java com.ggstudios.divisionbyzero.Hud.java com.ggstudios.divisionbyzero.InGameMenu.java com.ggstudios.divisionbyzero.InfoDialog.java com.ggstudios.divisionbyzero.Label.java com.ggstudios.divisionbyzero.LevelManager.java com.ggstudios.divisionbyzero.LevelMap.java com.ggstudios.divisionbyzero.LineGuide.java com.ggstudios.divisionbyzero.MainActivity.java com.ggstudios.divisionbyzero.Map.java com.ggstudios.divisionbyzero.MessageDialog.java com.ggstudios.divisionbyzero.ParticleEngine.java com.ggstudios.divisionbyzero.PathFinder.java com.ggstudios.divisionbyzero.PauseMenu.java com.ggstudios.divisionbyzero.PictureBox.java com.ggstudios.divisionbyzero.Player.java com.ggstudios.divisionbyzero.PopupMenu.java com.ggstudios.divisionbyzero.Rectangle.java com.ggstudios.divisionbyzero.Shader.java com.ggstudios.divisionbyzero.SpawnManager.java com.ggstudios.divisionbyzero.SpriteAnimation.java com.ggstudios.divisionbyzero.SpriteManager.java com.ggstudios.divisionbyzero.Sprite.java com.ggstudios.divisionbyzero.Statbar.java com.ggstudios.divisionbyzero.StateManager.java com.ggstudios.divisionbyzero.TargetRectangle.java com.ggstudios.divisionbyzero.TextureManager.java com.ggstudios.divisionbyzero.TowerInfoDialog.java com.ggstudios.divisionbyzero.TowerLibrary.java com.ggstudios.divisionbyzero.TowerManager.java com.ggstudios.divisionbyzero.TowerMenu.java com.ggstudios.divisionbyzero.Tower.java com.ggstudios.divisionbyzero.UpdatableCollection.java com.ggstudios.divisionbyzero.Updatable.java com.ggstudios.divisionbyzero.UpgradeDialog.java com.ggstudios.divisionbyzero.Utils.java com.ggstudios.divisionbyzero.VBO.java com.ggstudios.divisionbyzero.WaveControlDialog.java com.ggstudios.divisionbyzero.WaveControlHud.java com.ggstudios.divisionbyzero.ZoomControl.java com.ggstudios.utils.BitmapUtils.java com.ggstudios.utils.BufferUtils.java com.ggstudios.utils.DebugLog.java com.ggstudios.utils.ShaderUtils.java com.ggstudios.widget.LevelMapBackground.java fix.android.opengl.GLES20.java