void AlliesWhiteboard::DrawTextInput(LPDIRECTDRAWSURFACE DestSurf) { Dialog *DialogPTR = (Dialog*)LocalShare->Dialog; int BFHalfX = (LocalShare->ScreenWidth-128)/2 + 128; int BFHalfY = (LocalShare->ScreenHeight-64)/2 + 32; if(CurrentElement) DialogPTR->DrawText(DestSurf, BFHalfX-InputBoxWidth/2+5, BFHalfY-InputBoxHeight/2-13, "Edit Textmarker"); else DialogPTR->DrawText(DestSurf, BFHalfX-InputBoxWidth/2+5, BFHalfY-InputBoxHeight/2-13, "Add Textmarker"); DDBLTFX ddbltfx; DDRAW_INIT_STRUCT(ddbltfx); ddbltfx.ddckSrcColorkey.dwColorSpaceLowValue = 102; ddbltfx.ddckSrcColorkey.dwColorSpaceHighValue = 102; RECT Dest; Dest.left = BFHalfX-InputBoxWidth/2; Dest.top = BFHalfY-InputBoxHeight/2; Dest.right = Dest.left+InputBoxWidth; Dest.bottom = Dest.top+InputBoxHeight; if(DestSurf->Blt(&Dest, lpInputBox, NULL, DDBLT_ASYNC | DDBLT_KEYSRCOVERRIDE, &ddbltfx)!=DD_OK) { DestSurf->Blt(&Dest, lpInputBox, NULL, DDBLT_WAIT | DDBLT_KEYSRCOVERRIDE, &ddbltfx); } DialogPTR->DrawSmallText(DestSurf, BFHalfX-(InputBoxWidth/2)+14, BFHalfY-5, Text); //draw cursor if textbox overlap if((MouseX-128)>Dest.left-10 && (MouseX-128)<Dest.right && (MouseY-32)>Dest.top-34 && (MouseY-32)<Dest.bottom) DialogPTR->BlitCursor(DestSurf, MouseX-128, MouseY-32); }