Removal of my terrible idea.
This commit is contained in:
parent
e7157e7c52
commit
2897619ddb
|
@ -129,9 +129,10 @@
|
||||||
android:key="showFPS"
|
android:key="showFPS"
|
||||||
android:summary="@string/show_fps_descrip"
|
android:summary="@string/show_fps_descrip"
|
||||||
android:title="@string/show_fps"/>
|
android:title="@string/show_fps"/>
|
||||||
|
<!--
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="drawOnscreenControls"
|
android:key="drawOnscreenControls"
|
||||||
android:title="@string/draw_onscreen_controls"/>
|
android:title="@string/draw_onscreen_controls"/>
|
||||||
|
-->
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
|
@ -1,9 +1,5 @@
|
||||||
package org.dolphinemu.dolphinemu;
|
package org.dolphinemu.dolphinemu;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.dolphinemu.dolphinemu.settings.InputConfigFragment;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
@ -11,15 +7,11 @@ import android.graphics.Color;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
import android.view.InputDevice;
|
import android.view.*;
|
||||||
import android.view.KeyEvent;
|
|
||||||
import android.view.Menu;
|
|
||||||
import android.view.MenuInflater;
|
|
||||||
import android.view.MenuItem;
|
|
||||||
import android.view.MotionEvent;
|
|
||||||
import android.view.Window;
|
|
||||||
import android.view.WindowManager;
|
|
||||||
import android.view.WindowManager.LayoutParams;
|
import android.view.WindowManager.LayoutParams;
|
||||||
|
import org.dolphinemu.dolphinemu.settings.InputConfigFragment;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the activity where all of the emulation handling happens.
|
* This is the activity where all of the emulation handling happens.
|
||||||
|
|
|
@ -181,8 +181,7 @@ namespace ButtonManager
|
||||||
|
|
||||||
void DrawButtons()
|
void DrawButtons()
|
||||||
{
|
{
|
||||||
for(auto it = m_buttons.begin(); it != m_buttons.end(); ++it)
|
// XXX: Make platform specific drawing
|
||||||
g_video_backend->Video_DrawTexture((*it)->GetTexture(), (*it)->GetCoords());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// InputDevice
|
// InputDevice
|
||||||
|
|
|
@ -70,11 +70,8 @@ namespace ButtonManager
|
||||||
{
|
{
|
||||||
u32 width, height;
|
u32 width, height;
|
||||||
char *image;
|
char *image;
|
||||||
image = LoadPNG((std::string(DOLPHIN_DATA_DIR "/") + filename).c_str(), width, height);
|
// image = LoadPNG((std::string(DOLPHIN_DATA_DIR "/") + filename).c_str(), width, height);
|
||||||
|
// XXX: Make platform specific drawing
|
||||||
m_tex = g_video_backend->Video_LoadTexture(image, width, height);
|
|
||||||
|
|
||||||
free(image);
|
|
||||||
|
|
||||||
m_button = button;
|
m_button = button;
|
||||||
memcpy(m_coords, coords, sizeof(float) * 8);
|
memcpy(m_coords, coords, sizeof(float) * 8);
|
||||||
|
@ -91,7 +88,7 @@ namespace ButtonManager
|
||||||
GLuint GetTexture() { return m_tex; }
|
GLuint GetTexture() { return m_tex; }
|
||||||
float *GetCoords() { return m_coords; }
|
float *GetCoords() { return m_coords; }
|
||||||
|
|
||||||
~Button() { g_video_backend->Video_DeleteTexture(m_tex); }
|
~Button() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sBind
|
struct sBind
|
||||||
|
|
|
@ -103,14 +103,6 @@ public:
|
||||||
virtual void Video_ClearMessages() = 0;
|
virtual void Video_ClearMessages() = 0;
|
||||||
virtual bool Video_Screenshot(const char* filename) = 0;
|
virtual bool Video_Screenshot(const char* filename) = 0;
|
||||||
|
|
||||||
// Loads a texture, -1 on not loaded
|
|
||||||
// Texture is passed in as RGBA data
|
|
||||||
virtual int Video_LoadTexture(char *imagedata, u32 width, u32 height) = 0;
|
|
||||||
// Deletes a texture loaded from LoadTexture
|
|
||||||
virtual void Video_DeleteTexture(int texID) = 0;
|
|
||||||
// Draws a texture, arg1 is the value returned by LoadTexture, arg2 is the screen coordinates
|
|
||||||
virtual void Video_DrawTexture(int texID, float *coords) = 0;
|
|
||||||
|
|
||||||
virtual void Video_SetRendering(bool bEnabled) = 0;
|
virtual void Video_SetRendering(bool bEnabled) = 0;
|
||||||
|
|
||||||
virtual void Video_GatherPipeBursted() = 0;
|
virtual void Video_GatherPipeBursted() = 0;
|
||||||
|
@ -163,10 +155,6 @@ class VideoBackendHardware : public VideoBackend
|
||||||
void Video_ClearMessages();
|
void Video_ClearMessages();
|
||||||
bool Video_Screenshot(const char* filename);
|
bool Video_Screenshot(const char* filename);
|
||||||
|
|
||||||
int Video_LoadTexture(char *imagedata, u32 width, u32 height) { return -1; }
|
|
||||||
void Video_DeleteTexture(int texID) {}
|
|
||||||
void Video_DrawTexture(int texID, float *coords) {}
|
|
||||||
|
|
||||||
void Video_SetRendering(bool bEnabled);
|
void Video_SetRendering(bool bEnabled);
|
||||||
|
|
||||||
void Video_GatherPipeBursted();
|
void Video_GatherPipeBursted();
|
||||||
|
|
|
@ -123,36 +123,6 @@ void SWRenderer::DrawDebugText()
|
||||||
SWRenderer::RenderText(debugtext_buffer, 20, 20, 0xFFFFFF00);
|
SWRenderer::RenderText(debugtext_buffer, 20, 20, 0xFFFFFF00);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX: We should /really/ be outputting textures to the texture image instead of this way.
|
|
||||||
void SWRenderer::DrawButton(int texID, float *coords)
|
|
||||||
{
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
|
|
||||||
static const GLfloat texverts[4][2] = {
|
|
||||||
{0, 1},
|
|
||||||
{0, 0},
|
|
||||||
{1, 0},
|
|
||||||
{1, 1}
|
|
||||||
};
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, texID);
|
|
||||||
|
|
||||||
glVertexAttribPointer(attr_pos, 2, GL_FLOAT, GL_FALSE, 0, coords);
|
|
||||||
glVertexAttribPointer(attr_tex, 2, GL_FLOAT, GL_FALSE, 0, texverts);
|
|
||||||
glEnableVertexAttribArray(attr_pos);
|
|
||||||
glEnableVertexAttribArray(attr_tex);
|
|
||||||
glActiveTexture(GL_TEXTURE0);
|
|
||||||
glUniform1i(uni_tex, 0);
|
|
||||||
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
|
|
||||||
glDisableVertexAttribArray(attr_pos);
|
|
||||||
glDisableVertexAttribArray(attr_tex);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SWRenderer::DrawTexture(u8 *texture, int width, int height)
|
void SWRenderer::DrawTexture(u8 *texture, int width, int height)
|
||||||
{
|
{
|
||||||
GLsizei glWidth = (GLsizei)GLInterface->GetBackBufferWidth();
|
GLsizei glWidth = (GLsizei)GLInterface->GetBackBufferWidth();
|
||||||
|
|
|
@ -16,7 +16,6 @@ namespace SWRenderer
|
||||||
void RenderText(const char* pstr, int left, int top, u32 color);
|
void RenderText(const char* pstr, int left, int top, u32 color);
|
||||||
void DrawDebugText();
|
void DrawDebugText();
|
||||||
|
|
||||||
void DrawButton(int texId, float *coords);
|
|
||||||
void DrawTexture(u8 *texture, int width, int height);
|
void DrawTexture(u8 *texture, int width, int height);
|
||||||
|
|
||||||
void SwapBuffer();
|
void SwapBuffer();
|
||||||
|
|
|
@ -242,32 +242,6 @@ bool VideoSoftware::Video_Screenshot(const char *_szFilename)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int VideoSoftware::Video_LoadTexture(char *image, u32 width, u32 height)
|
|
||||||
{
|
|
||||||
GLuint Texture = 0;
|
|
||||||
glGenTextures(1, &Texture);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, Texture);
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0,
|
|
||||||
GL_RGBA, GL_UNSIGNED_BYTE, image);
|
|
||||||
|
|
||||||
return (int) Texture;
|
|
||||||
}
|
|
||||||
void VideoSoftware::Video_DeleteTexture(int texID)
|
|
||||||
{
|
|
||||||
if (texID == -1) return;
|
|
||||||
glDeleteTextures(1, (GLuint*)&texID);
|
|
||||||
}
|
|
||||||
void VideoSoftware::Video_DrawTexture(int texID, float *coords)
|
|
||||||
{
|
|
||||||
if (texID == -1) return;
|
|
||||||
SWRenderer::DrawButton(texID, coords);
|
|
||||||
}
|
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
// Enter and exit the video loop
|
// Enter and exit the video loop
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
|
|
Loading…
Reference in New Issue