diff options
author | Felix Arends <edx@rockbox.org> | 2002-04-27 17:02:17 +0000 |
---|---|---|
committer | Felix Arends <edx@rockbox.org> | 2002-04-27 17:02:17 +0000 |
commit | ffb9e3a5bd1d9472b0cea2d9fba560ea0c58e58e (patch) | |
tree | 4c15d6a4d0878ef7f489506a0c9032f320df7cdf /uisimulator/win32 | |
parent | a6ca085a35fc2b1739fc8d1e6cf064b45279e8ee (diff) |
renamed cpp extensions to c, started coding file functions
file functions not working yet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@262 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/win32')
-rw-r--r-- | uisimulator/win32/lcd-win32.c | 24 | ||||
-rw-r--r-- | uisimulator/win32/lcd-win32.h | 2 | ||||
-rw-r--r-- | uisimulator/win32/main.cpp | 29 | ||||
-rw-r--r-- | uisimulator/win32/uisw32.cpp | 260 | ||||
-rw-r--r-- | uisimulator/win32/uisw32.h | 3 | ||||
-rw-r--r-- | uisimulator/win32/uisw32.suo | bin | 10752 -> 10240 bytes | |||
-rw-r--r-- | uisimulator/win32/uisw32.vcproj | 26 |
7 files changed, 35 insertions, 309 deletions
diff --git a/uisimulator/win32/lcd-win32.c b/uisimulator/win32/lcd-win32.c index 4539696cef..2330d444c5 100644 --- a/uisimulator/win32/lcd-win32.c +++ b/uisimulator/win32/lcd-win32.c @@ -28,14 +28,14 @@ // varaibles unsigned char display[LCD_WIDTH][LCD_HEIGHT/8]; // the display -char bitmap[LCD_WIDTH][LCD_HEIGHT]; // the ui display +char bitmap[LCD_HEIGHT][LCD_WIDTH]; // the ui display BITMAPINFO2 bmi = { sizeof (BITMAPINFOHEADER), LCD_WIDTH, -LCD_HEIGHT, 1, 8, BI_RGB, 0, 0, 0, 2, 2, - UI_LCD_COLOR, 0, // green background color + UI_LCD_BGCOLOR, 0, // green background color UI_LCD_BLACK, 0 // black color }; // bitmap information @@ -63,4 +63,24 @@ void lcd_update() // natural sleep :) Sleep (50); +} + +// lcd_backlight +// set backlight state of lcd +void lcd_backlight ( + bool on // switch backlight on or off? + ) +{ + if (on) + { + RGBQUAD blon = {UI_LCD_BGCOLORLIGHT, 0}; + bmi.bmiColors[0] = blon; + } + else + { + RGBQUAD blon = {UI_LCD_BGCOLOR, 0}; + bmi.bmiColors[0] = blon; + } + + InvalidateRect (hGUIWnd, NULL, FALSE); }
\ No newline at end of file diff --git a/uisimulator/win32/lcd-win32.h b/uisimulator/win32/lcd-win32.h index e4b1e3bd8e..1836e40b02 100644 --- a/uisimulator/win32/lcd-win32.h +++ b/uisimulator/win32/lcd-win32.h @@ -39,7 +39,7 @@ extern unsigned char display[LCD_WIDTH][LCD_HEIGHT/8]; // the display #endif -extern char bitmap[LCD_WIDTH][LCD_HEIGHT]; // the ui display +extern char bitmap[LCD_HEIGHT][LCD_WIDTH]; // the ui display extern BITMAPINFO2 bmi; // bitmap information diff --git a/uisimulator/win32/main.cpp b/uisimulator/win32/main.cpp deleted file mode 100644 index 7c3c66f967..0000000000 --- a/uisimulator/win32/main.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "uisw32.h" -#include "lcd-win32.h" - -#define FS 6 - -int main (void) -{ - int x; - lcd_init (); - - while (1) - { - for (x = 0; x < 10; x++) - { - lcd_clear_display (); - lcd_position (x, 12, FS); - lcd_string ("Hello World!"); - lcd_position (x, 32, FS); - lcd_string ("From the"); - lcd_position (x, 40, FS); - lcd_string (" Open Source "); - lcd_position (x, 48, FS); - lcd_string ("Jukebox Project"); - lcd_update (); - } - } - - return 0; -}
\ No newline at end of file diff --git a/uisimulator/win32/uisw32.cpp b/uisimulator/win32/uisw32.cpp deleted file mode 100644 index 529ecbfb4e..0000000000 --- a/uisimulator/win32/uisw32.cpp +++ /dev/null @@ -1,260 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Felix Arends - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include <windows.h> -#include <process.h> -#include "uisw32.h" -#include "resource.h" - -// extern functions -extern void main (void *); // mod entry point - -// variables -HWND hGUIWnd; // the GUI window handle -unsigned int uThreadID; // id of mod thread -PBYTE lpKeys; - -// GUIWndProc -// window proc for GUI simulator -LRESULT GUIWndProc ( - HWND hWnd, - UINT uMsg, - WPARAM wParam, - LPARAM lParam - ) -{ - static HBITMAP hBkgnd; - static lpBmp [UI_WIDTH * UI_HEIGHT * 3]; - static HDC hMemDc; - - switch (uMsg) - { - case WM_CREATE: - // load background image - hBkgnd = (HBITMAP)LoadImage (GetModuleHandle (NULL), MAKEINTRESOURCE(IDB_UI), - IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); - hMemDc = CreateCompatibleDC (GetDC (hWnd)); - SelectObject (hMemDc, hBkgnd); - return TRUE; - case WM_SIZING: - { - LPRECT r = (LPRECT)lParam; - RECT r2; - char s[256]; - int v; - - switch (wParam) - { - case WMSZ_BOTTOM: - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5; - r->right = r->left + v * UI_WIDTH / 5; - r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_RIGHT: - v = (r->right - r->left) / (UI_WIDTH / 5); - r->bottom = r->top + v * UI_HEIGHT / 5; - r->right = r->left + v * UI_WIDTH / 5; - r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_TOP: - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5; - r->right = r->left + v * UI_WIDTH / 5; - r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_LEFT: - v = (r->right - r->left) / (UI_WIDTH / 5); - r->bottom = r->top + v * UI_HEIGHT / 5; - r->left = r->right - v * UI_WIDTH / 5; - r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_BOTTOMRIGHT: - GetWindowRect (hWnd, &r2); - if (abs(r2.right - r->right) > abs(r2.bottom - r->bottom)) - v = (r->right - r->left) / (UI_WIDTH / 5); - else - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5; - r->right = r->left + v * UI_WIDTH / 5; - r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_BOTTOMLEFT: - GetWindowRect (hWnd, &r2); - if (abs(r2.left - r->left) > abs(r2.bottom - r->bottom)) - v = (r->right - r->left) / (UI_WIDTH / 5); - else - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->bottom = r->top + v * UI_HEIGHT / 5; - r->left = r->right - v * UI_WIDTH / 5; - r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->bottom += GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_TOPRIGHT: - GetWindowRect (hWnd, &r2); - if (abs(r2.right - r->right) > abs(r2.top - r->top)) - v = (r->right - r->left) / (UI_WIDTH / 5); - else - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5; - r->right = r->left + v * UI_WIDTH / 5; - r->right += GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - case WMSZ_TOPLEFT: - GetWindowRect (hWnd, &r2); - if (abs(r2.left - r->left) > abs(r2.top - r->top)) - v = (r->right - r->left) / (UI_WIDTH / 5); - else - v = (r->bottom - r->top) / (UI_HEIGHT / 5); - r->top = r->bottom - v * UI_HEIGHT / 5; - r->left = r->right - v * UI_WIDTH / 5; - r->left -= GetSystemMetrics (SM_CXSIZEFRAME) * 2; - r->top -= GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION); - break; - } - - wsprintf (s, "RockBox Simulator @%d%%", - (r->right - r->left - GetSystemMetrics (SM_CXSIZEFRAME) * 2) - * 100 / UI_WIDTH); - SetWindowText (hWnd, s); - - return TRUE; - } - case WM_ERASEBKGND: - { - PAINTSTRUCT ps; - HDC hDc = BeginPaint (hWnd, &ps); - RECT r; - - GetClientRect (hWnd, &r); - // blit to screen - StretchBlt (hDc, 0, 0, r.right, r.bottom, - hMemDc, 0, 0, UI_WIDTH, UI_HEIGHT, SRCCOPY); - EndPaint (hWnd, &ps); - return TRUE; - } - case WM_PAINT: - { - PAINTSTRUCT ps; - RECT r; - HDC hDc = BeginPaint (hWnd, &ps); - - GetClientRect (hWnd, &r); - // draw lcd screen - StretchDIBits (hDc, - UI_LCD_POSX * r.right / UI_WIDTH, UI_LCD_POSY * r.bottom / UI_HEIGHT, - LCD_WIDTH * r.right / UI_WIDTH, LCD_HEIGHT * r.bottom / UI_HEIGHT, - 0, 0, LCD_WIDTH, LCD_HEIGHT, - bitmap, (BITMAPINFO *) &bmi, DIB_RGB_COLORS, SRCCOPY); - - EndPaint (hWnd, &ps); - return TRUE; - } - case WM_CLOSE: - // close simulator - hGUIWnd = NULL; - PostQuitMessage (0); - break; - } - - return DefWindowProc (hWnd, uMsg, wParam, lParam); -} - -// GUIStartup -// register window class, show window, init GUI -BOOL GUIStartup () -{ - WNDCLASS wc; - - // create window class - ZeroMemory (&wc, sizeof(wc)); - wc.hbrBackground = GetSysColorBrush (COLOR_WINDOW); - wc.hCursor = LoadCursor (NULL, IDC_ARROW); - wc.hInstance = GetModuleHandle (NULL); - wc.lpfnWndProc = (WNDPROC)GUIWndProc; - wc.lpszClassName = "RockBoxUISimulator"; - wc.style = CS_HREDRAW | CS_VREDRAW; - - if (RegisterClass (&wc) == 0) - return FALSE; - - // create window - hGUIWnd = CreateWindowEx ( - WS_EX_TOOLWINDOW | WS_EX_PALETTEWINDOW, - "RockBoxUISimulator", "ARCHOS JukeBox", - WS_VISIBLE | WS_SYSMENU | WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, CW_USEDEFAULT, - UI_WIDTH + GetSystemMetrics (SM_CXSIZEFRAME) * 2, - UI_HEIGHT + GetSystemMetrics (SM_CYSIZEFRAME) * 2 + GetSystemMetrics (SM_CYSMCAPTION), - NULL, NULL, GetModuleHandle (NULL), NULL); - - if (hGUIWnd == NULL) - return FALSE; - - return TRUE; -} - -// GUIDown -// destroy window, unregister window class -int GUIDown () -{ - DestroyWindow (hGUIWnd); - _endthreadex (uThreadID); - return 0; -} - -// GUIMessageLoop -// standard message loop for GUI window -void GUIMessageLoop () -{ - MSG msg; - while (GetMessage (&msg, hGUIWnd, 0, 0) && hGUIWnd != NULL) - { - TranslateMessage (&msg); - DispatchMessage (&msg); - } -} - - -// WinMain -// program entry point -int WINAPI WinMain ( - HINSTANCE hInstance, // current instance - HINSTANCE hPrevInstance, // previous instance - LPSTR lpCmd, // command line - int nShowCmd // show command - ) -{ - if (!GUIStartup ()) - return 0; - - uThreadID = _beginthread (main, 0, NULL); - if (uThreadID == -0L) - return MessageBox (NULL, "Error creating mod thread!", "Error", MB_OK); - - GUIMessageLoop (); - - return GUIDown (); -}
\ No newline at end of file diff --git a/uisimulator/win32/uisw32.h b/uisimulator/win32/uisw32.h index d168c8955e..162d925aca 100644 --- a/uisimulator/win32/uisw32.h +++ b/uisimulator/win32/uisw32.h @@ -25,7 +25,8 @@ #define UI_WIDTH 240 // width of GUI window #define UI_HEIGHT 360 // height of GUI window -#define UI_LCD_COLOR 46, 67, 49 // bkgnd color of LCD +#define UI_LCD_BGCOLOR 46, 67, 49 // bkgnd color of LCD (no backlight) +#define UI_LCD_BGCOLORLIGHT 56, 77, 59 // bkgnd color of LCD (backlight) #define UI_LCD_BLACK 0, 0, 0 // black #define UI_LCD_POSX 59 // x position of lcd #define UI_LCD_POSY 95 // y position of lcd diff --git a/uisimulator/win32/uisw32.suo b/uisimulator/win32/uisw32.suo Binary files differindex 070ca781b2..31b4d3d464 100644 --- a/uisimulator/win32/uisw32.suo +++ b/uisimulator/win32/uisw32.suo diff --git a/uisimulator/win32/uisw32.vcproj b/uisimulator/win32/uisw32.vcproj index afc181d417..cde446b6ad 100644 --- a/uisimulator/win32/uisw32.vcproj +++ b/uisimulator/win32/uisw32.vcproj @@ -65,8 +65,8 @@ Optimization="2" InlineFunctionExpansion="1" OmitFramePointers="TRUE" - AdditionalIncludeDirectories=""C:\Programming\CVS Checkout\RockBox\firmware\drivers";"C:\Programming\CVS Checkout\RockBox\firmware"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;ARCHOS_RECORDER;SIMULATOR" + AdditionalIncludeDirectories=""C:\Programming\CVS Checkout\RockBox\firmware\drivers";"C:\Programming\CVS Checkout\RockBox\firmware";"C:\Programming\CVS Checkout\RockBox\firmware\common"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;ARCHOS_RECORDER;SIMULATOR;WIN32" StringPooling="TRUE" RuntimeLibrary="0" EnableFunctionLevelLinking="TRUE" @@ -113,6 +113,9 @@ RelativePath="..\..\firmware\chartables.c"> </File> <File + RelativePath="file-win32.c"> + </File> + <File RelativePath="kernel.c"> </File> <File @@ -120,30 +123,21 @@ </File> <File RelativePath="..\..\firmware\drivers\lcd.c"> - <FileConfiguration - Name="Debug|Win32"> - <Tool - Name="VCCLCompilerTool" - ObjectFile="$(IntDir)/$(InputName)1.obj"/> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32"> - <Tool - Name="VCCLCompilerTool" - ObjectFile="$(IntDir)/$(InputName)1.obj"/> - </FileConfiguration> </File> <File - RelativePath="tetris.c"> + RelativePath="main.c"> </File> <File - RelativePath="uisw32.cpp"> + RelativePath="uisw32.c"> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc"> <File + RelativePath="file-win32.h"> + </File> + <File RelativePath="lcd-win32.h"> </File> <File |