[ros-diffs] [mpiulachs] 30570: Cool flying butterflies screen saver. It uses the new scrnsave library. All screen savers *should* be modified to use this library inset of replicating a large amount of code Original work by Jeff Molofee tutorials (http://nehe.gamedev.net) basically converted from C++ to C and adapted as a windows screensaver

mpiulachs at svn.reactos.org mpiulachs at svn.reactos.org
Mon Nov 19 02:11:35 CET 2007


Author: mpiulachs
Date: Mon Nov 19 04:11:35 2007
New Revision: 30570

URL: http://svn.reactos.org/svn/reactos?rev=30570&view=rev
Log:
Cool flying butterflies screen saver. It uses the new scrnsave library. All screen savers *should* be modified to use this library inset of replicating a large amount of code 

Original work by Jeff Molofee tutorials (http://nehe.gamedev.net)
basically converted from C++ to C and adapted as a windows screensaver

Added:
    trunk/rosapps/applications/screensavers/butterflies/
    trunk/rosapps/applications/screensavers/butterflies/butterflies.c   (with props)
    trunk/rosapps/applications/screensavers/butterflies/butterflies.def   (with props)
    trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild   (with props)
    trunk/rosapps/applications/screensavers/butterflies/butterflies.rc   (with props)
    trunk/rosapps/applications/screensavers/butterflies/lang/
    trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc   (with props)
    trunk/rosapps/applications/screensavers/butterflies/res/
    trunk/rosapps/applications/screensavers/butterflies/res/butterfly1.bmp   (with props)
    trunk/rosapps/applications/screensavers/butterflies/res/butterfly2.bmp   (with props)
    trunk/rosapps/applications/screensavers/butterflies/res/butterfly3.bmp   (with props)
    trunk/rosapps/applications/screensavers/butterflies/resource.h   (with props)

Added: trunk/rosapps/applications/screensavers/butterflies/butterflies.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/butterflies.c?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/butterflies.c (added)
+++ trunk/rosapps/applications/screensavers/butterflies/butterflies.c Mon Nov 19 04:11:35 2007
@@ -1,0 +1,336 @@
+#include <windows.h>
+#include <scrnsave.h>
+#include <math.h>			
+#include <stdio.h>			
+#include <stdlib.h>			
+#include <GL/gl.h>
+#include <GL/glu.h>
+#include "resource.h"
+
+/* missing declare from gl.h */
+#define GL_BGR_EXT                        0x80E0
+
+HINSTANCE		hInstance;			// Holds The Instance Of The Application
+
+GLuint texture[3];	                //stores texture objects and display list
+
+LPCTSTR registryPath = ("Software\\tHaPuTeRProductions\\Lesson38Saver");
+BOOL dRotate;
+
+
+struct object						// Create A Structure Called Object
+{
+	int   tex;						// Integer Used To Select Our Texture
+	float x;						// X Position
+	float y;						// Y Position
+	float z;						// Z Position
+	float yi;						// Y Increase Speed (Fall Speed)
+	float spinz;					// Z Axis Spin
+	float spinzi;					// Z Axis Spin Speed
+	float flap;						// Flapping Triangles :)
+	float fi;						// Flap Direction (Increase Value)
+};
+
+struct object obj[50];
+//object obj[50];						// Create 50 Objects Using The Object Structure
+
+void SetDefaults()
+{
+	dRotate = TRUE;
+}
+
+void ReadRegistry(){
+	LONG result;
+	HKEY skey;
+	DWORD valtype, valsize, val;
+
+	SetDefaults();
+
+	result = RegOpenKeyEx(HKEY_CURRENT_USER, registryPath, 0, KEY_READ, &skey);
+	if(result != ERROR_SUCCESS)
+		return;
+
+	valsize=sizeof(val);
+
+	result = RegQueryValueEx(skey, "Rotate", 0, &valtype, (LPBYTE)&val, &valsize);
+	if(result == ERROR_SUCCESS)
+		dRotate = val;
+	RegCloseKey(skey);
+}
+
+void WriteRegistry(){
+    LONG result;
+	HKEY skey;
+	DWORD val, disp;
+
+	result = RegCreateKeyEx(HKEY_CURRENT_USER, registryPath, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &skey, &disp);
+	if(result != ERROR_SUCCESS)
+		return;
+
+	val = dRotate;
+	RegSetValueEx(skey, "Rotate", 0, REG_DWORD, (CONST BYTE*)&val, sizeof(val));
+
+	RegCloseKey(skey);
+}
+
+void SetObject(int loop)										// Sets The Initial Value Of Each Object (Random)
+{
+	obj[loop].tex=rand()%3;										// Texture Can Be One Of 3 Textures
+	obj[loop].x=rand()%34-17.0f;								// Random x Value From -17.0f To 17.0f
+	obj[loop].y=18.0f;											// Set y Position To 18 (Off Top Of Screen)
+	obj[loop].z=-((rand()%30000/1000.0f)+10.0f);				// z Is A Random Value From -10.0f To -40.0f
+	obj[loop].spinzi=(rand()%10000)/5000.0f-1.0f;				// spinzi Is A Random Value From -1.0f To 1.0f
+	obj[loop].flap=0.0f;										// flap Starts Off At 0.0f;
+	obj[loop].fi=0.05f+(rand()%100)/1000.0f;					// fi Is A Random Value From 0.05f To 0.15f
+	obj[loop].yi=0.001f+(rand()%1000)/10000.0f;					// yi Is A Random Value From 0.001f To 0.101f
+}
+
+void LoadGLTextures()											// Creates Textures From Bitmaps In The Resource File
+{
+	HBITMAP hBMP;												// Handle Of The Bitmap
+	BITMAP	BMP;												// Bitmap Structure
+    int loop;
+
+	// The ID Of The 3 Bitmap Images We Want To Load From The Resource File
+	byte	Texture[]={	IDB_BUTTERFLY1,	IDB_BUTTERFLY2,	IDB_BUTTERFLY3 };
+
+	glGenTextures(sizeof(Texture), &texture[0]);				// Generate 3 Textures (sizeof(Texture)=3 ID's)
+	for (loop=0; loop<sizeof(Texture); loop++)				// Loop Through All The ID's (Bitmap Images)
+	{
+		hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(Texture[loop]), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
+		if (hBMP)												// Does The Bitmap Exist?
+		{														// If So...
+			GetObject(hBMP,sizeof(BMP), &BMP);					// Get The Object
+																// hBMP: Handle To Graphics Object
+																// sizeof(BMP): Size Of Buffer For Object Information
+																// Buffer For Object Information
+			glPixelStorei(GL_UNPACK_ALIGNMENT,4);				// Pixel Storage Mode (Word Alignment / 4 Bytes)
+			glBindTexture(GL_TEXTURE_2D, texture[loop]);		// Bind Our Texture
+			glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);	// Linear Filtering
+			glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR); // Mipmap Linear Filtering
+
+			// Generate Mipmapped Texture (3 Bytes, Width, Height And Data From The BMP)
+			gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);
+		}
+	}
+}
+
+HGLRC InitOGLWindow(HWND hWnd)
+{
+	HDC hDC = GetDC(hWnd);
+	HGLRC hRC = 0;
+	PIXELFORMATDESCRIPTOR pfd;
+	int nFormat;
+
+	ZeroMemory(&pfd, sizeof(PIXELFORMATDESCRIPTOR));
+
+	pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
+	pfd.nVersion = 1;
+	pfd.dwFlags = PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER;
+	pfd.cColorBits = 24;
+	pfd.cDepthBits = 24;
+	
+	nFormat = ChoosePixelFormat(hDC, &pfd);
+	DescribePixelFormat(hDC, nFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
+	SetPixelFormat(hDC, nFormat, &pfd);
+	
+	hRC = wglCreateContext(hDC);
+	wglMakeCurrent(hDC, hRC);
+
+	ReleaseDC(hWnd, hDC);
+
+	return hRC;
+}
+
+void InitOpenGL(GLsizei width, GLsizei height)
+{
+    int loop;
+
+	if (height==0)										// Prevent A Divide By Zero By
+	{
+		height=1;										// Making Height Equal One
+	}
+
+	glViewport(0,0,width,height);						// Reset The Current Viewport
+
+	glMatrixMode(GL_PROJECTION);						// Select The Projection Matrix
+	glLoadIdentity();									// Reset The Projection Matrix
+
+	// Calculate The Aspect Ratio Of The Window
+	gluPerspective (45.0f, (GLfloat)(width)/(GLfloat)(height),1.0f, 1000.0f);		
+
+	glMatrixMode(GL_MODELVIEW);							// Select The Modelview Matrix
+	glLoadIdentity();
+		// Start Of User Initialization
+	LoadGLTextures();									// Load The Textures From Our Resource File
+	
+	glClearColor (0.0f, 0.0f, 0.0f, 0.5f);				// Black Background
+	glClearDepth (1.0f);								// Depth Buffer Setup
+	glDepthFunc (GL_LEQUAL);							// The Type Of Depth Testing (Less Or Equal)
+	glDisable(GL_DEPTH_TEST);							// Disable Depth Testing
+	glShadeModel (GL_SMOOTH);							// Select Smooth Shading
+	glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);	// Set Perspective Calculations To Most Accurate
+	glEnable(GL_TEXTURE_2D);							// Enable Texture Mapping
+	glBlendFunc(GL_ONE,GL_SRC_ALPHA);					// Set Blending Mode (Cheap / Quick)
+	glEnable(GL_BLEND);
+
+	
+	for (loop=0; loop<50; loop++)					// Loop To Initialize 50 Objects
+	{
+		SetObject(loop);										// Call SetObject To Assign New Random Values
+	}
+
+}
+
+void Display()
+{
+    int loop;
+	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);		// Clear Screen And Depth Buffer
+
+	for (loop=0; loop<50; loop++)							// Loop Of 50 (Draw 50 Objects)
+	{
+		glLoadIdentity ();										// Reset The Modelview Matrix
+		glBindTexture(GL_TEXTURE_2D, texture[obj[loop].tex]);	// Bind Our Texture
+		glTranslatef(obj[loop].x,obj[loop].y,obj[loop].z);		// Position The Object
+		glRotatef(45.0f,1.0f,0.0f,0.0f);						// Rotate On The X-Axis
+		if (dRotate)
+		{
+			glRotatef((obj[loop].spinz),0.0f,0.0f,1.0f);			// Spin On The Z-Axis
+		}
+		glBegin(GL_TRIANGLES);									// Begin Drawing Triangles
+			// First Triangle														    _____
+			glTexCoord2f(1.0f,1.0f); glVertex3f( 1.0f, 1.0f, 0.0f);				//	(2)|    / (1)
+			glTexCoord2f(0.0f,1.0f); glVertex3f(-1.0f, 1.0f, obj[loop].flap);	//	   |  /
+			glTexCoord2f(0.0f,0.0f); glVertex3f(-1.0f,-1.0f, 0.0f);				//	(3)|/
+
+			// Second Triangle
+			glTexCoord2f(1.0f,1.0f); glVertex3f( 1.0f, 1.0f, 0.0f);				//	       /|(1)
+			glTexCoord2f(0.0f,0.0f); glVertex3f(-1.0f,-1.0f, 0.0f);				//	     /  |
+			glTexCoord2f(1.0f,0.0f); glVertex3f( 1.0f,-1.0f, obj[loop].flap);	//	(2)/____|(3)
+
+		glEnd();												// Done Drawing Triangles
+
+		obj[loop].y-=obj[loop].yi;								// Move Object Down The Screen
+		obj[loop].spinz+=obj[loop].spinzi;						// Increase Z Rotation By spinzi
+		obj[loop].flap+=obj[loop].fi;							// Increase flap Value By fi
+
+		if (obj[loop].y<-18.0f)									// Is Object Off The Screen?
+		{
+			SetObject(loop);									// If So, Reassign New Values
+		}
+
+		if ((obj[loop].flap>1.0f) || (obj[loop].flap<-1.0f))	// Time To Change Flap Direction?
+		{
+			obj[loop].fi=-obj[loop].fi;							// Change Direction By Making fi = -fi
+		}
+	}
+
+	Sleep(15);													// Create A Short Delay (15 Milliseconds)
+
+	glFlush ();	
+
+}
+
+BOOL AboutProc(HWND hdlg, UINT msg, WPARAM wpm, LPARAM lpm){
+    /*
+	switch(msg){
+	case WM_CTLCOLORSTATIC:
+		if(HWND(lpm) == GetDlgItem(hdlg, WEBPAGE1))
+		{
+			SetTextColor(HDC(wpm), RGB(0,0,255));
+			SetBkColor(HDC(wpm), COLORREF(GetSysColor(COLOR_3DFACE)));
+			return(int(GetSysColorBrush(COLOR_3DFACE)));
+		}
+		if(HWND(lpm) == GetDlgItem(hdlg, WEBPAGE2))
+		{
+			SetTextColor(HDC(wpm), RGB(0,0,255));
+			SetBkColor(HDC(wpm), COLORREF(GetSysColor(COLOR_3DFACE)));
+			return(int(GetSysColorBrush(COLOR_3DFACE)));
+		}
+		break;
+    case WM_COMMAND:
+		switch(LOWORD(wpm)){
+		case IDOK:
+			EndDialog(hdlg, LOWORD(wpm));	
+			break;
+		case WEBPAGE1:
+			ShellExecute(NULL, "open", "http://nehe.gamedev.net", NULL, NULL, SW_SHOWNORMAL);
+			break;
+		case WEBPAGE2:
+			ShellExecute(NULL, "open", "http://www.thaputer.com", NULL, NULL, SW_SHOWNORMAL);
+			break;
+		}
+	}*/
+	return FALSE;
+}
+
+LRESULT WINAPI ScreenSaverProc(HWND hWnd, UINT message, 
+					 WPARAM wParam, LPARAM lParam) 
+{
+	static HGLRC hRC;
+	static DWORD timer = 1;
+	HDC hDC;
+    RECT WindowRect;
+	int width;
+	int height;
+
+	switch (message) 
+	{ 
+	case WM_CREATE: 
+		ReadRegistry();
+		hRC = InitOGLWindow(hWnd);
+		GetClientRect (hWnd, &WindowRect); 
+		width = WindowRect.right - WindowRect.left;
+		height = WindowRect.bottom - WindowRect.top;
+		InitOpenGL(width,height);
+		SetTimer(hWnd, timer, 5, NULL);
+		break; 
+	case WM_TIMER:
+		hDC = GetDC(hWnd);
+		Display();
+		SwapBuffers(hDC);
+		ReleaseDC(hWnd, hDC);
+		break;
+	case WM_DESTROY: 
+		wglMakeCurrent(NULL, NULL);
+		wglDeleteContext(hRC);
+		break;
+	} 
+
+	return DefScreenSaverProc(hWnd, message, wParam, lParam);
+}
+
+BOOL WINAPI ScreenSaverConfigureDialog(HWND hDlg, UINT message, 
+								WPARAM wParam, LPARAM lParam)
+{
+	switch (message)
+	{
+	case WM_INITDIALOG:
+		ReadRegistry();
+		CheckDlgButton(hDlg, ROTATE, dRotate);
+		return TRUE;
+	case WM_COMMAND:
+		switch (LOWORD(wParam))
+		{
+		case IDOK:
+			dRotate = (IsDlgButtonChecked(hDlg, ROTATE) == BST_CHECKED);
+			WriteRegistry();
+			EndDialog(hDlg, TRUE);
+			return TRUE;
+		case IDCANCEL:
+			EndDialog(hDlg, TRUE);
+			break;
+		case IDABOUT:
+			//DialogBox(hInstance, MAKEINTRESOURCE(IDD_DLG_ABOUT), hDlg, DLGPROC(AboutProc));
+            break;
+		}
+	}
+
+	return FALSE;
+}
+
+BOOL WINAPI RegisterDialogClasses(HANDLE hInst)
+{
+	return TRUE;
+}
+

Propchange: trunk/rosapps/applications/screensavers/butterflies/butterflies.c
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rosapps/applications/screensavers/butterflies/butterflies.def
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/butterflies.def?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/butterflies.def (added)
+++ trunk/rosapps/applications/screensavers/butterflies/butterflies.def Mon Nov 19 04:11:35 2007
@@ -1,0 +1,10 @@
+NAME	LESSON38SAVER.SCR
+
+DESCRIPTION	'Lesson38Saver screen saver'
+
+HEAPSIZE 1024 
+STACKSIZE 4096 
+
+EXPORTS 
+	ScreenSaverProc 
+	ScreenSaverConfigureDialog 

Propchange: trunk/rosapps/applications/screensavers/butterflies/butterflies.def
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild (added)
+++ trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild Mon Nov 19 04:11:35 2007
@@ -1,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
+<module name="butterflies" type="win32scr" installbase="system32" installname="butterflies.scr" allowwarnings="true">
+	<importlibrary definition="butterflies.def" />
+	<include base="butterflies">.</include>
+	<library>scrnsavelib</library>
+	<library>kernel32</library>
+	<library>user32</library>
+	<library>gdi32</library>
+	<library>opengl32</library>
+	<library>glu32</library>
+	<library>advapi32</library>
+
+	<metadata description = "Butterflies screensaver" />
+
+	<file>butterflies.c</file>
+	<file>butterflies.rc</file>
+</module>

Propchange: trunk/rosapps/applications/screensavers/butterflies/butterflies.rbuild
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rosapps/applications/screensavers/butterflies/butterflies.rc
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/butterflies.rc?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/butterflies.rc (added)
+++ trunk/rosapps/applications/screensavers/butterflies/butterflies.rc Mon Nov 19 04:11:35 2007
@@ -1,0 +1,13 @@
+#include <windows.h>
+#include "resource.h"
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION    "Butterflies ScreenSaver\0"
+#define REACTOS_STR_INTERNAL_NAME       "butterflies\0"
+#define REACTOS_STR_ORIGINAL_FILENAME   "butterflies.scr\0"
+
+#include <reactos/version.rc>
+
+#include "lang/en-US.rc"

Propchange: trunk/rosapps/applications/screensavers/butterflies/butterflies.rc
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc (added)
+++ trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc Mon Nov 19 04:11:35 2007
@@ -1,0 +1,144 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_DLG_SCREEN DIALOG DISCARDABLE  0, 0, 172, 57
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Butterflies Screen Saver Settings"
+FONT 8, "MS Sans Serif"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,7,35,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,61,35,50,14
+    CONTROL         "Rotate Butterflies",ROTATE,"Button",BS_AUTOCHECKBOX | 
+                    WS_TABSTOP,56,15,70,8
+    PUSHBUTTON      "About",IDABOUT,115,35,50,14
+END
+
+IDD_DLG_ABOUT DIALOG DISCARDABLE  0, 0, 149, 79
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "About "
+FONT 8, "MS Sans Serif"
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,48,58,56,14
+    CTEXT           "Lesson38Saver",IDC_STATIC,7,7,135,9
+    CTEXT           "Demo by: NeHe ",IDC_STATIC,7,20,135,8
+    CTEXT           "http://nehe.gamedev.net",WEBPAGE1,7,29,135,8,SS_NOTIFY | 
+                    NOT WS_GROUP
+    CTEXT           "ScreenSaver by: tHaPuTeR",IDC_STATIC,7,38,135,8,NOT 
+                    WS_GROUP
+    CTEXT           "http://www.thaputer.com",WEBPAGE2,7,47,135,8,SS_NOTIFY | 
+                    NOT WS_GROUP
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE 
+BEGIN
+    IDD_DLG_SCREEN, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 165
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 50
+    END
+
+    IDD_DLG_ABOUT, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 142
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 72
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDB_BUTTERFLY1          BITMAP  DISCARDABLE     "res/butterfly1.bmp"
+IDB_BUTTERFLY2          BITMAP  DISCARDABLE     "res/butterfly2.bmp"
+IDB_BUTTERFLY3          BITMAP  DISCARDABLE     "res/butterfly3.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDS_STR_DESCRIP         "Lesson38Saver"
+END
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

Propchange: trunk/rosapps/applications/screensavers/butterflies/lang/en-US.rc
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rosapps/applications/screensavers/butterflies/res/butterfly1.bmp
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/res/butterfly1.bmp?rev=30570&view=auto
==============================================================================
Binary file - no diff available.

Propchange: trunk/rosapps/applications/screensavers/butterflies/res/butterfly1.bmp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/rosapps/applications/screensavers/butterflies/res/butterfly2.bmp
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/res/butterfly2.bmp?rev=30570&view=auto
==============================================================================
Binary file - no diff available.

Propchange: trunk/rosapps/applications/screensavers/butterflies/res/butterfly2.bmp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/rosapps/applications/screensavers/butterflies/res/butterfly3.bmp
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/res/butterfly3.bmp?rev=30570&view=auto
==============================================================================
Binary file - no diff available.

Propchange: trunk/rosapps/applications/screensavers/butterflies/res/butterfly3.bmp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/rosapps/applications/screensavers/butterflies/resource.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/screensavers/butterflies/resource.h?rev=30570&view=auto
==============================================================================
--- trunk/rosapps/applications/screensavers/butterflies/resource.h (added)
+++ trunk/rosapps/applications/screensavers/butterflies/resource.h Mon Nov 19 04:11:35 2007
@@ -1,0 +1,27 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by Lesson38Saver.rc
+//
+#define IDS_STR_DESCRIP                 1
+#define IDABOUT                         3
+#define IDI_ICON_SCREEN                 100
+#define IDB_BUTTERFLY1                  103
+#define IDB_BUTTERFLY2                  104
+#define IDB_BUTTERFLY3                  105
+#define IDI_ICON                        106
+#define IDD_DLG_ABOUT                   107
+#define ROTATE                          1000
+#define WEBPAGE1                        1001
+#define WEBPAGE2                        1002
+#define IDD_DLG_SCREEN                  2003
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE        108
+#define _APS_NEXT_COMMAND_VALUE         40001
+#define _APS_NEXT_CONTROL_VALUE         1003
+#define _APS_NEXT_SYMED_VALUE           106
+#endif
+#endif

Propchange: trunk/rosapps/applications/screensavers/butterflies/resource.h
------------------------------------------------------------------------------
    svn:eol-style = native




More information about the Ros-diffs mailing list