Esempio n. 1
0
long Editor :: MenuCommand(wCommandMsg m)
{
	Document		*top = (Document*)TopMdiDocument();
	short			lp;
	Document		*doc;

	// SET FOREGROUND COLOR
	if (m.usCmd() >= O_FGCOLOR && m.usCmd() < O_BGCOLOR)
	{
		fgc = carr[m.usCmd() - O_FGCOLOR];
        wColor oldc;
		for (DocList()->First() ; (doc = (Document*)(DocList()->Current())) != 0 ; DocList()->Next())
			oldc= doc->mle->SetForeground(fgc);

		for (lp=0 ; lp < 16 && carr[lp] != oldc; lp++)
			;
 
		menu->UnCheckItem(lp + O_FGCOLOR);
		menu->CheckItem(m.usCmd());
	}

	// SET BACKGROUND COLOR
	if (m.usCmd() >= O_BGCOLOR && m.usCmd() < O_BGCOLOR + 18)
	{
		bgc = carr[m.usCmd() - O_BGCOLOR];
        wColor oldc;
		for (DocList()->First() ; (doc = (Document*)(DocList()->Current())) != 0 ; DocList()->Next())
			oldc= doc->mle->SetBackground(bgc);

		for (lp=0 ; lp < 16 && carr[lp] != oldc; lp++)
			;
 
		menu->UnCheckItem(lp + O_BGCOLOR);
		menu->CheckItem(m.usCmd());
	}

	// SET FONT
	if (m.usCmd() == O_FONT)
		Fonts();

	switch (m.usCmd())
	{
		case F_NEW:
			new Document(this);
			break;

		case F_OPEN:
			Open();
			break;

		case F_SAVE:
			top->Save();
			break;

		case F_SAVEAS:
			top->SaveAs();
			break;

		case F_CLOSE:

			if (top->Close(wMessage()))
				delete top;

			break;

		case F_QUIT:
			if (top)
			{
				if (CloseAll())
					PostMessage(wMessage(WM_QUIT, 0, 0));
			}
			break;

		case E_UNDO:
			top->mle->Undo();
			break;

		case E_CUT:
			top->mle->CutSelection();
			break;

		case E_COPY:
			top->mle->CopySelection();
			break;

		case E_PASTE:
			top->mle->PasteSelection();
			break;

		case E_CLEAR:
			top->mle->ClearSelection();
			break;

		case E_FIND:
			{
				ushort	found = TRUE;

				SearchDlg	s(this, EDIT_SEARCH, &search, &replace, &cs);
				switch(s.GetResult())
				{
					case ID_CANCEL:
						return FALSE;	
					case ID_SEARCH:
					{
						//top->mle->DisableUpdate();
						found = top->mle->Search(search, PosFirst, PosLast,
							MlSelectMatch | (cs ? MlCaseSensitive : 0));
						break;
					}
					case ID_REPLACE:				   
						top->mle->DisableUpdate();
						found = top->mle->SearchReplace(search, replace,
							PosFirst, PosLast, (cs ? MlCaseSensitive : 0));
						break;
					case ID_REPLACEALL:
						top->mle->DisableUpdate();
						found = TRUE;
						top->mle->SearchReplace(search, replace,
							PosFirst, PosLast, 
							MlChangeAll | (cs ? MlCaseSensitive : 0));
						break;
				}
				top->mle->EnableUpdate();
				if (!found)
				{
					wMessageBox	mb(this, "Search string not found", "Search",
						MbIconAsterisk | MbOk);
				}
			}
			break;

		case E_SELECTALL:
			top->mle->SetSelection(wRange(0, top->mle->GetNumChars()));
			break;

		case O_TABSTOPS:
			{
				ushort	tmp;
				TabStops	ts(this, &tab);
				if ((tmp = ts.GetResult()) != 0)
				{
					tab = tmp;
					if (top)
					{
						Document	*doc;
	
						for (DocList()->First() ; (doc=(Document*)(DocList()->Current())) != 0 ; DocList()->Next())
							doc->mle->SetTabStop(tmp);
					}
				}
			}
			break;

		case O_WWRAP:
			{
				wwrap = !wwrap;
				for (DocList()->First() ; (doc = (Document*)(DocList()->Current())) != 0 ; DocList()->Next())
					(doc->mle->SetWrap(wwrap));
				menu->ToggleCheckItem(O_WWRAP);
			}
			break;

		default:
			return FALSE;
	}
	return FALSE;
}
Esempio n. 2
0
// INITIALIZE CORE FUNCTIONS
bool RenderEngine::Init(){

	if (!InitWindow()){
		return false; //gick inte att skapa window
	}

	if (!InitDirect3D(hWindow)){
		return false; //gick inte att skapa Direct3D
	}
	// Sets and creates viewport
	SetViewport();

	//Initialize Shaders and triangle data
	Shaders();
	CreatePlaneData();
	TextureFunc();

	//Font
	Fonts();

	//Import
	
	ImportObj("Objects/testPlayer1.obj", "Objects/testPlayer1.mtl", gDevice, true);
	
	ImportObj("Objects/mapPart1.obj", "Objects/mapPart1.mtl", gDevice, false);
	ImportObj("Objects/mapPart2.obj", "Objects/mapPart2.mtl", gDevice, false);
	ImportObj("Objects/mapPart3.obj", "Objects/mapPart3.mtl", gDevice, false);
	ImportObj("Objects/mapPart4.obj", "Objects/mapPart4.mtl", gDevice, false);
	ImportObj("Objects/mapPart5.obj", "Objects/mapPart5.mtl", gDevice, false);
	ImportObj("Objects/mapPart6.obj", "Objects/mapPart6.mtl", gDevice, false);
	ImportObj("Objects/mapPart7.obj", "Objects/mapPart7.mtl", gDevice, false);
	ImportObj("Objects/mapPart7.obj", "Objects/mapPart7.mtl", gDevice, false);

	

	//LIGHT TEST ZONE BITCHES
	/*float l1Int = 1.0f;
	XMFLOAT3 l1Pos = XMFLOAT3(0.0f, 1.0f, -2.0f);
	XMFLOAT4 l1Amb = XMFLOAT4(1.0f, 1.0f, 1.0f,1.0f);
	XMFLOAT4 l1Diff = XMFLOAT4(1.0f, 1.0f, 1.0f, 1.0f);
	XMFLOAT4 l1Spec = XMFLOAT4(0.5f, 0.2f, 0.2f, 1.0f);
	XMFLOAT3 l1Dir = XMFLOAT3(0.0f, -50.0f, 30.0f);*/



	testLight[0] = LightClass(l_Directional, XMFLOAT3(1.0f, 1.0f, -5.0f), true, true);
	testLight[0].lightObject.Color = XMFLOAT4(Colors::White);
	/*testLight[0].ToggleActive();*/

	LightClass snoppe(l_Point, XMFLOAT3(1.0f, 1.0f, 0.0f), true, true);

	testLight[1] = snoppe;
	snoppe.lightObject.Type = 2;
	testLight[1].lightObject.Position = XMFLOAT4(-4.0f, 8.0f, 1.0f, 1.0f);
	testLight[1].lightObject.Color = XMFLOAT4(Colors::LightGoldenrodYellow);
	testLight[1].lightObject.AttConst = 1.0f;
	testLight[1].lightObject.AttLinear = 0.08f;
	testLight[1].lightObject.AttQuadratic = 0.00000f;
	//testLight[1].ToggleActive();
 	globalAmb = XMFLOAT4(Colors::Black);

	D3D11_BUFFER_DESC lbuffDesc;
	ZeroMemory(&lbuffDesc, sizeof(lbuffDesc));
	lbuffDesc.Usage = D3D11_USAGE_DEFAULT;
	lbuffDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
	lbuffDesc.CPUAccessFlags = 0;
	lbuffDesc.MiscFlags = 0;
	lbuffDesc.ByteWidth = sizeof(LightProperties);

	HRESULT hr = gDevice->CreateBuffer(&lbuffDesc, NULL, &lightConstBuff);


	// Material Buffers Init
	ZeroMemory(&lbuffDesc, sizeof(lbuffDesc));
	lbuffDesc.ByteWidth = sizeof(MaterialProperties);
	hr = gDevice->CreateBuffer(&lbuffDesc, NULL, &matConstBuff);



	return true; //om båda funkade så returnera true (y)
}