0 Members and 1 Guest are viewing this topic.
oapiVCRegisterArea (AID_CUSTOMDISPLAY, _R(0, 0, 256, 256), PANEL_REDRAW_ALWAYS, PANEL_MOUSE_LBDOWN, PANEL_MAP_BACKGROUND, tex2);oapiVCSetAreaClickmode_Quadrilateral (AID_CUSTOMDISPLAY, _V(-0.46,1.504,2.34), _V(-0.44,1.504,2.34), _V(-0.46,1.334,2.34), _V(-0.44,1.334,2.34));
case AID_CUSTOMDISPLAY: La faut mettre quoi ??? return true;
case AID_CUSTOMDISPLAY: return RedrawPanel_CustomDisplay (surf);
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ char cbuf[256]; HDC hDC = oapiGetDC (surf); SelectObject (hDC, g_Param.hFont[1]); SetTextColor (hDC, RGB(0, 200, 0)); SetTextAlign (hDC, TA_CENTER); SetBkMode (hDC, TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); TextOut (hDC, 128, 128, cbuf, strlen(cbuf)); oapiReleaseDC (surf, hDC); return true;}
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ char cbuf[256]; oapi::Sketchpad* skp = oapiGetSketchpad (surf); skp->SetFont(g_Param.hFont[1]); skp->SetTextColor(RGB(0, 200, 0)); skp->SetTextAlign (CENTER); skp->SetBackgroundMode (BK_TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); skp->Text(128, 128, cbuf, strlen(cbuf)); oapiReleaseSketchpad(skp); return true;}
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ oapi::Font *font = oapiCreateFont (38, true, "Sans", FONT_NORMAL); oapi::Sketchpad *skp = oapiGetSketchpad (surf); char cbuf[1024]; if (skp) { skp->SetFont(font); skp->SetTextColor(RGB(0, 200, 0)); skp->SetTextAlign (oapi::Sketchpad::CENTER); skp->SetBackgroundMode (oapi::Sketchpad::BK_TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); skp->Text(512, 512, cbuf, strlen(cbuf)); oapiReleaseSketchpad(skp); } oapiReleaseFont (font); return true;}
ea76620 a écrit:Bonjour,J'ai mis le Sketchpad mais je ne parvient pas à avoir mon texte autrement que transparent (il y a juste un peu de vert sur les bord des lettres).voici le code :Code: [Select]bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ oapi::Font *font = oapiCreateFont (38, true, "Sans", FONT_NORMAL); oapi::Sketchpad *skp = oapiGetSketchpad (surf); char cbuf[1024]; if (skp) { skp->SetFont(font); skp->SetTextColor(RGB(0, 200, 0)); skp->SetTextAlign (oapi::Sketchpad::CENTER); skp->SetBackgroundMode (oapi::Sketchpad::BK_TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); skp->Text(512, 512, cbuf, strlen(cbuf)); oapiReleaseSketchpad(skp); } oapiReleaseFont (font); return true;}La texture est de 1024 x 1024A+
DLLCLBK void InitModule (HINSTANCE hModule){ g_Param.hSkpFont=oapiCreateFont(12, true, "Sans");
DLLCLBK void ExitModule (HINSTANCE hModule){ oapiReleaseFont (g_Param.hSkpFont);
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){.................. if (skp) { skp->SetFont(g_Param.hSkpFont);........ ET oublie pas d'enlever: oapiReleaseFont (font);}
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ oapi::Sketchpad *skp = oapiGetSketchpad (surf); char cbuf[1024]; if (skp) { skp->SetFont(g_Param.hSkpFont); skp->SetTextColor(RGB(0, 255, 0)); skp->SetTextAlign (oapi::Sketchpad::CENTER); skp->SetBackgroundMode (oapi::Sketchpad::BK_TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); skp->Text(512, 512, cbuf, strlen(cbuf)); oapiReleaseSketchpad(skp); } oapiReleaseFont (g_Param.hSkpFont); return true;}
DLLCLBK void InitModule (HINSTANCE hModule){ g_Param.hDLL = hModule; oapiRegisterCustomControls (hModule); // allocate GDI resources g_Param.hFont[0] = CreateFont (-20, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, "Arial"); g_Param.hSkpFont=oapiCreateFont(12, true, "Sans");}
DLLCLBK void ExitModule (HINSTANCE hModule){ int i; // deallocate GDI resources for (i = 0; i < 1; i++) DeleteObject (g_Param.hFont[i]); oapiUnregisterCustomControls (g_Param.hDLL); oapiReleaseFont (g_Param.hSkpFont);}
typedef struct { HINSTANCE hDLL; HFONT hFont[1]; // utilisé par les labels mfd qui ne sont pas encore en sketchpad oapi::Font *hSkpFont;} GDIParams;
ea76620 a écrit:Bonjour,Code: [Select]bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ oapi::Sketchpad *skp = oapiGetSketchpad (surf); char cbuf[1024]; if (skp) { skp->SetFont(g_Param.hSkpFont); skp->SetTextColor(RGB(0, 255, 0)); skp->SetTextAlign (oapi::Sketchpad::CENTER); skp->SetBackgroundMode (oapi::Sketchpad::BK_TRANSPARENT); sprintf (cbuf, "E.T téléphone maison"); skp->Text(512, 512, cbuf, strlen(cbuf)); oapiReleaseSketchpad(skp); } oapiReleaseFont (g_Param.hSkpFont); return true;}
DanSteph a écrit:Code: [Select]bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ ET oublie pas d'enlever: oapiReleaseFont (font);}A++Dan
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ ET oublie pas d'enlever: oapiReleaseFont (font);}
skp->Text(512, 512, cbuf, strlen(cbuf));
DanSteph a écrit:Quote skp->Text(512, 512, cbuf, strlen(cbuf));... et attention la t'est très vraisemblablement en dehors de ta texture qui fait 256x256.
EDIT:Regarde dans ton mesh si le matériel associé au group sur lequel tu dessines est légèrement transparent.
bool SMV_Daedalus::RedrawPanel_CustomDisplay (SURFHANDLE surf){ oapi::Sketchpad *skp = oapiGetSketchpad (surf); char cbufSD[256]; if (skp) { skp->SetFont(g_Param.hSkpFont); skp->SetTextColor(RGB(0, 200, 0)); skp->SetTextAlign (oapi::Sketchpad::CENTER); skp->SetBackgroundMode (oapi::Sketchpad::BK_TRANSPARENT); sprintf (cbufSD, "E.T téléphone maison"); skp->Text(64, 64, cbufSD, strlen(cbufSD)); oapiReleaseSketchpad(skp); } return true;}
g_Param.hSkpFont=oapiCreateFont(25, true, "Sans");
oapiVCRegisterArea (AID_CUSTOMDISPLAY, _R(0, 0, 256, 256), PANEL_REDRAW_ALWAYS, PANEL_MOUSE_LBDOWN, PANEL_MAP_BACKGROUND, tex2);
ea76620 a écrit:ps : une des difficultés du c++, c'est qu'il faut penser à tout
TEXTURES 7UniversalCars\ShuttleA\Indicator.dds DUniversalCars\ShuttleA\fuelmgmt.dds DUniversalCars\ShuttleA\MFD_buttons.dds DUniversalCars\ShuttleA\A_VcInterior.ddsUniversalCars\ShuttleA\B_panel1.ddsUniversalCars\ShuttleA\C_panel2.ddsUniversalCars\ShuttleA\E_bordwindows.dds
4.3 Texture list .........If a texture is to be dynamically updated during the simulation (e.g. instrument pavirtual cockpits), the texture name should be followed by the flag ‘D’. Orbiter will decompress these textures to allow more efficient dynamic updates.