Removal of my terrible idea.

This commit is contained in:
Ryan Houdek 2013-09-02 05:31:48 -05:00
parent e7157e7c52
commit 2897619ddb
8 changed files with 10 additions and 90 deletions

View File

@ -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>

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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
// ------------------------------- // -------------------------------