void RenderMapBorderEtaPopUp( void ) { // renders map border corner to the FRAME_BUFFER HVOBJECT hHandle; /* if( fDisabledMapBorder ) { return; } */ if( fShowMapInventoryPool ) { return; } if( fPlotForHelicopter == TRUE ) { DisplayDistancesForHelicopter( ); return; } // get and blt ETA box GetVideoObject(&hHandle, guiMapBorderEtaPopUp ); BltVideoObject( FRAME_BUFFER , hHandle, 0, MAP_BORDER_X + 215, 291, VO_BLT_SRCTRANSPARENCY,NULL ); InvalidateRegion( MAP_BORDER_X + 215, 291, MAP_BORDER_X + 215 + 100 , 310); return; }
void RenderAttributeFrame(INT16 sX, INT16 sY) { HVOBJECT hHandle; INT32 iCounter = 0; INT16 sCurrentY = 0; // get the video object GetVideoObject(&hHandle, guiATTRIBUTEFRAME); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); sCurrentY += 10; for( iCounter = 0; iCounter < 10; iCounter++ ) { // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 1, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 3, LAPTOP_SCREEN_UL_X + sX + 368, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); sCurrentY += 20; } BltVideoObject(FRAME_BUFFER, hHandle, 4, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); return; }
// get the min width of the town mine info pop up box void MinWidthOfTownMineInfoBox( void ) { HVOBJECT hHandle; VOBJECT_DESC VObjectDesc; INT16 sWidthA = 0, sWidthB = 0, sTotalBoxWidth = 0; UINT32 uiObject; ETRLEObject *pTrav; VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE; FilenameForBPP("INTERFACE\\mapinvbtns.sti", VObjectDesc.ImageFile); AddVideoObject( &VObjectDesc, &uiObject ); // Calculate smily face positions... GetVideoObject( &hHandle, uiObject ); pTrav = &(hHandle->pETRLEObject[ 0 ] ); sWidthA = pTrav->usWidth; pTrav = &(hHandle->pETRLEObject[ 1 ] ); sWidthB = pTrav->usWidth; sTotalBoxWidth = sWidthA + sWidthB; sTotalButtonWidth = sTotalBoxWidth; // delete video object DeleteVideoObjectFromIndex( uiObject ); return; }
void RenderProfileBackGround( void ) { HVOBJECT hHandle; INT32 iCurrentHeight = 0; INT32 iCounter = 0; // this procedure will render the generic backgound to the screen // get the video object GetVideoObject(&hHandle, guiBACKGROUND); // render each row 5 times wide, 5 tiles high for(iCounter = 0; iCounter < 4; iCounter++) { // blt background to screen from left to right BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 0 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 1 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 2 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 3 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); } // dirty buttons MarkButtonsDirty( ); // force refresh of screen InvalidateRegion( LAPTOP_SCREEN_UL_X, LAPTOP_SCREEN_WEB_UL_Y, 640, 480 ); return; }
void RenderAttributeFrameForIndex( INT16 sX, INT16 sY, INT32 iIndex ) { INT16 sCurrentY = 0; HVOBJECT hHandle; // valid index? if( iIndex == -1 ) { return; } sCurrentY = ( INT16 )( 10 + ( iIndex * 20 ) ); // get the video object GetVideoObject(&hHandle, guiATTRIBUTEFRAME); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); RenderAttrib2IndentFrame(350, 42 ); // amt of bonus pts DrawBonusPointsRemaining( ); // render attribute boxes RenderAttributeBoxes( ); InvalidateRegion( LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, LAPTOP_SCREEN_UL_X + sX + 400, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY + 21 ); return; }
BOOLEAN BltVideoObjectOutlineShadowFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT16 usIndex, INT32 iDestX, INT32 iDestY ) { UINT16 *pBuffer; UINT32 uiPitch; HVOBJECT hSrcVObject; // Lock video surface pBuffer = (UINT16*)LockVideoSurface( uiDestVSurface, &uiPitch ); if ( pBuffer == NULL ) { return( FALSE ); } // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_BLTVIDEOOBJECTOUTLINESHADOWFROMINDEX; #endif CHECKF( GetVideoObject( &hSrcVObject, uiSrcVObject ) ); if( BltIsClipped( hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect) ) { Blt8BPPDataTo16BPPBufferOutlineShadowClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect ); } else { Blt8BPPDataTo16BPPBufferOutlineShadow((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex ); } // Now we have the video object and surface, call the VO blitter function UnLockVideoSurface( uiDestVSurface ); return( TRUE ); }
BOOLEAN BltVideoObjectFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT16 usRegionIndex, INT32 iDestX, INT32 iDestY, UINT32 fBltFlags, blt_fx *pBltFx ) { UINT16 *pBuffer; UINT32 uiPitch; HVOBJECT hSrcVObject; // Lock video surface pBuffer = (UINT16*)LockVideoSurface( uiDestVSurface, &uiPitch ); if ( pBuffer == NULL ) { return( FALSE ); } // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_BLTVIDEOOBJECTFROMINDEX; #endif if( !GetVideoObject( &hSrcVObject, uiSrcVObject ) ) { UnLockVideoSurface( uiDestVSurface ); return FALSE; } // Now we have the video object and surface, call the VO blitter function if ( !BltVideoObjectToBuffer( pBuffer, uiPitch, hSrcVObject, usRegionIndex, iDestX, iDestY, fBltFlags, pBltFx ) ) { UnLockVideoSurface( uiDestVSurface ); // VO Blitter will set debug messages for error conditions return FALSE; } UnLockVideoSurface( uiDestVSurface ); return( TRUE ); }
void HandleCreditEyeBlinking() { HVOBJECT hPixHandle; UINT8 ubCnt; GetVideoObject(&hPixHandle, guiCreditFaces ); for( ubCnt=0; ubCnt<NUM_PEOPLE_IN_CREDITS; ubCnt++ ) { if( ( GetJA2Clock() - gCreditFaces[ubCnt].uiLastBlinkTime ) > (UINT32)gCreditFaces[ubCnt].sBlinkFreq ) { BltVideoObject( FRAME_BUFFER, hPixHandle, (UINT8)(ubCnt*3), gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL); InvalidateRegion( gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, gCreditFaces[ubCnt].sEyeX + CRDT_EYE_WIDTH + xResOffset, gCreditFaces[ubCnt].sEyeY + CRDT_EYE_HEIGHT + yResOffset ); gCreditFaces[ubCnt].uiLastBlinkTime = GetJA2Clock(); gCreditFaces[ubCnt].uiEyesClosedTime = GetJA2Clock() + CRDT_EYES_CLOSED_TIME + Random( CRDT_EYES_CLOSED_TIME ); } else if( GetJA2Clock() > gCreditFaces[ubCnt].uiEyesClosedTime ) { gCreditFaces[ubCnt].uiEyesClosedTime = 0; RestoreExternBackgroundRect( gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, CRDT_EYE_WIDTH, CRDT_EYE_HEIGHT ); } } }
void RenderMapBorder( void ) { // renders the actual border to the guiSAVEBUFFER HVOBJECT hHandle; /* if( fDisabledMapBorder ) { return; } */ if( fShowMapInventoryPool ) { // render background, then leave BlitInventoryPoolGraphic( ); return; } // get and blt border GetVideoObject(&hHandle, guiMapBorder ); BltVideoObject( guiSAVEBUFFER , hHandle, 0,MAP_BORDER_X, MAP_BORDER_Y, VO_BLT_SRCTRANSPARENCY,NULL ); // show the level marker DisplayCurrentLevelMarker( ); return; }
void RenderAIM() { HVOBJECT hMemberCardHandle; HVOBJECT hPoliciesHandle; HVOBJECT hLinksHandle; HVOBJECT hHistoryHandle; // UINT16 x,y, uiPosX, uiPosY; DrawAimDefaults(); //MemberCard GetVideoObject(&hMemberCardHandle, guiMemberCard); BltVideoObject(FRAME_BUFFER, hMemberCardHandle, 0,MEMBERCARD_X, MEMBERCARD_Y, VO_BLT_SRCTRANSPARENCY,NULL); //Policies GetVideoObject(&hPoliciesHandle, guiPolicies); BltVideoObject(FRAME_BUFFER, hPoliciesHandle, 0,POLICIES_X, POLICIES_Y, VO_BLT_SRCTRANSPARENCY,NULL); //Links GetVideoObject(&hLinksHandle, guiLinks); BltVideoObject(FRAME_BUFFER, hLinksHandle, 0,LINKS_X, LINKS_Y, VO_BLT_SRCTRANSPARENCY,NULL); //History GetVideoObject(&hHistoryHandle, guiHistory); BltVideoObject(FRAME_BUFFER, hHistoryHandle, 0,HISTORY_X, HISTORY_Y, VO_BLT_SRCTRANSPARENCY,NULL); // Draw the aim slogan under the symbol DisplayAimSlogan(); DisplayAimCopyright(); //Draw text under boxes // members DrawTextToScreen(AimBottomMenuText[AIM_MEMBERS], MEMBERCARD_X, MEMBERS_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // Policies DrawTextToScreen(AimBottomMenuText[AIM_POLICIES], POLICIES_X, POLICIES_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // History DrawTextToScreen(AimBottomMenuText[AIM_HISTORY], HISTORY_X, HISTORY_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // Links DrawTextToScreen(AimBottomMenuText[AIM_LINKS], LINKS_X, LINK_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); HandleAdAndWarningArea( gfInitAdArea, TRUE ); RenderWWWProgramTitleBar( ); InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
void IMPMinorTraitDisplaySkills() { UINT32 uiCnt; UINT16 usPosX, usPosY; UINT16 usBoxPosX, usBoxPosY; HVOBJECT hImageHandle; //Display the title DrawTextToScreen( gzIMPSkillTraitsTextNewMinor[ IMP_SKILL_TRAITS_NEW_NUMBER_MINOR_SKILLS ], IMP_MINOR_TRAIT__TITLE_X, LAPTOP_TITLE_Y, LAPTOP_TEXT_WIDTH, IMP_MINOR_TRAIT__TITLE_FONT, IMP_MINOR_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); // Stats GetVideoObject(&hImageHandle, guiIMT_GreyGoldBox ); usPosX = IMP_MINOR_TRAIT__LEFT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; usPosY = IMP_MINOR_TRAIT__LEFT_COLUMN_START_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; for( uiCnt=0; uiCnt<IMP_SKILL_TRAITS_NEW_NUMBER_MINOR_SKILLS; uiCnt++ ) { usBoxPosX = usPosX - IMP_MINOR_TRAIT__GREY_BOX_OFFSET_X; usBoxPosY = usPosY - IMP_MINOR_TRAIT__GREY_BOX_OFFSET_Y; //if the trait is selected if( gfMinorTraitQuestions[ uiCnt ] ) { //Display the gold background box BltVideoObject(FRAME_BUFFER, hImageHandle, 1, usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } else { //Display the grey background box BltVideoObject(FRAME_BUFFER, hImageHandle, 0,usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } //draw the text to the screenx DrawTextToScreen( gzIMPSkillTraitsTextNewMinor[ uiCnt ], usPosX, usPosY, 0, IMP_MINOR_TRAIT__FONT, IMP_MINOR_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); AssignMinorTraitHelpText( uiCnt ); //Determine the next x location if( uiCnt < IMP_MINOR_TRAIT__TRAITS_TO_START_RIGHT_COL ) usPosX = IMP_MINOR_TRAIT__LEFT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; else usPosX = IMP_MINOR_TRAIT__RIGHT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; //Determine the next Y location if( uiCnt == IMP_MINOR_TRAIT__TRAITS_TO_START_RIGHT_COL ) usPosY = IMP_MINOR_TRAIT__RIGHT_COLUMN_START_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; else usPosY += IMP_MINOR_TRAIT__SPACE_BTN_BUTTONS; //if its the none button if( uiCnt == IMP_SKILL_TRAITS_NEW_MINOR_NONE-1 ) { usPosX = IMP_MINOR_TRAIT__NONE_BTN_LOC_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; usPosY = IMP_MINOR_TRAIT__NONE_BTN_LOC_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; } } }
BOOLEAN DrawBriefingRoomEnterLogoAim() { HVOBJECT hLogoEncyklopedia; GetVideoObject(&hLogoEncyklopedia, guiRustBriefingRoomEnterLogoAim); BltVideoObject(FRAME_BUFFER, hLogoEncyklopedia, 0,BRIEFINGROOM_MISSION_TOC_X-120, RUSTBACKGROUND_1_Y + 20, VO_BLT_SRCTRANSPARENCY,NULL); return(TRUE); }
BOOLEAN RenderPortrait( INT16 sX, INT16 sY ) { // render the portrait of the current picture VOBJECT_DESC VObjectDesc; HVOBJECT hHandle; UINT32 uiGraphicHandle; if( fCharacterIsMale ) { // load it VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP( pPlayerSelectedBigFaceFileNames[ iCurrentPortrait ] , VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &uiGraphicHandle)); // show it GetVideoObject(&hHandle, uiGraphicHandle); BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); // and kick it's sorry ..umm never mind, outta here DeleteVideoObjectFromIndex( uiGraphicHandle ); } else { // load it VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP( pPlayerSelectedBigFaceFileNames[ iCurrentPortrait + 8 ] , VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &uiGraphicHandle)); // show it GetVideoObject(&hHandle, uiGraphicHandle); BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); // and kick it's sorry ..umm never mind, outta here DeleteVideoObjectFromIndex( uiGraphicHandle ); } return ( TRUE ); }
BOOLEAN DrawBriefingRoomEnterDefaults() { HVOBJECT hRustBackGroundHandle; // Blt the rust background GetVideoObject(&hRustBackGroundHandle, guiRustBriefingRoomEnterBackGround); BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,RUSTBACKGROUND_1_X, RUSTBACKGROUND_1_Y, VO_BLT_SRCTRANSPARENCY,NULL); return(TRUE); }
void DisplayPremiumPage() { wchar_t sText[800]; UINT16 usNewLineOffset = 0; HVOBJECT hPixHandle; usNewLineOffset = INS_INFO_FIRST_PARAGRAPH_Y; //Display the title slogan GetInsuranceText( INS_SNGL_PREMIUMS, sText ); DrawTextToScreen( sText, INS_INFO_SUBTITLE_X, INS_INFO_SUBTITLE_Y, 0, INS_FONT_BIG, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); GetInsuranceText( INS_MLTI_EACH_TIME_U_COME_TO_US, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_LENGTH_OF_EMPLOYMENT_CONTRACT, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_EMPLOYEES_AGE_AND_HEALTH, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_EMPLOOYEES_TRAINING_AND_EXP, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; }
void RenderIMPSymbol(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiIMPSYMBOL); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
BOOLEAN SetVideoObjectPalette8BPP(INT32 uiVideoObject, SGPPaletteEntry *pPal8) { HVOBJECT hVObject; // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_SETVIDEOOBJECTPALETTE8BPP; #endif CHECKF( GetVideoObject( &hVObject, uiVideoObject ) ); return( SetVideoObjectPalette( hVObject, pPal8 ) ); }
void RenderHistoryBackGround( void ) { // render generic background for history system HVOBJECT hHandle; INT32 iCounter=0; // get title bar object GetVideoObject(&hHandle, guiTITLE); // blt title bar to screen BltVideoObject(FRAME_BUFFER, hHandle, 0,TOP_X, TOP_Y -2 , VO_BLT_SRCTRANSPARENCY,NULL); // get and blt the top part of the screen, video object and blt to screen GetVideoObject(&hHandle, guiTOP); BltVideoObject(FRAME_BUFFER, hHandle, 0,TOP_X, TOP_Y + 22, VO_BLT_SRCTRANSPARENCY,NULL); // display background for history list DisplayHistoryListBackground( ); return; }
void DrawSelectLight(UINT8 ubMode, UINT8 ubImage) { HVOBJECT hSelectLightHandle; ubMode *= 2; GetVideoObject(&hSelectLightHandle, guiSelectLight); BltVideoObject(FRAME_BUFFER, hSelectLightHandle, ubImage, (AimSortCheckBoxLoc[ubMode] ), ( AimSortCheckBoxLoc[ubMode + 1] ), VO_BLT_SRCTRANSPARENCY,NULL); // InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); InvalidateRegion(AimSortCheckBoxLoc[ubMode],AimSortCheckBoxLoc[ubMode+1], (AimSortCheckBoxLoc[ubMode] + AIM_SORT_CHECKBOX_SIZE), (AimSortCheckBoxLoc[ubMode+1] + AIM_SORT_CHECKBOX_SIZE) ); }
void RenderQtnShort2IndentHighFrame(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiSHORT2HINDENT); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderAttributeBarGraph(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiATTRIBUTEGRAPHBAR); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderFrontPageIndent(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiFRONTPAGEINDENT); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderLargeSilhouette(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiLARGESILHOUETTE); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
BOOLEAN InitTocMenu() { UINT16 i, usPosY; UINT16 usHeight; UINT16 usWidth=0; CHAR16 sText[400]; UINT8 ubLocInFile[] = { IN_THE_BEGINNING, THE_ISLAND_METAVIRA, GUS_TARBALLS, WORD_FROM_FOUNDER, INCORPORATION}; HVOBJECT hContentButtonHandle; GetVideoObject(&hContentButtonHandle, guiContentButton); usHeight = GetFontHeight(AIM_HISTORY_TOC_TEXT_FONT); usPosY = AIM_HISTORY_CONTENTBUTTON_Y; for(i=0; i<NUM_AIM_HISTORY_PAGES; i++) { if(!g_bUseXML_Strings) { UINT32 uiStartLoc = AIM_HISTORY_LINE_SIZE * ubLocInFile[i]; LoadEncryptedDataFromFile(AIMHISTORYFILE, sText, uiStartLoc, AIM_HISTORY_LINE_SIZE); } else { Loc::GetString(Loc::AIM_HISTORY, L"Line", ubLocInFile[i], sText, 400); } usWidth = StringPixLength(sText, AIM_HISTORY_TOC_TEXT_FONT); //if the mouse regions havent been inited, init them if( !gfInToc ) { //Mouse region for the history toc buttons MSYS_DefineRegion( &gSelectedHistoryTocMenuRegion[i], AIM_HISTORY_TOC_X, usPosY, (UINT16)(AIM_HISTORY_TOC_X + AIM_CONTENTBUTTON_WIDTH), (UINT16)(usPosY + AIM_CONTENTBUTTON_HEIGHT), MSYS_PRIORITY_HIGH, CURSOR_WWW, MSYS_NO_CALLBACK, SelectHistoryTocMenuRegionCallBack); MSYS_AddRegion(&gSelectedHistoryTocMenuRegion[i]); MSYS_SetRegionUserData( &gSelectedHistoryTocMenuRegion[i], 0, i+1); } BltVideoObject(FRAME_BUFFER, hContentButtonHandle, 0,AIM_HISTORY_TOC_X, usPosY, VO_BLT_SRCTRANSPARENCY,NULL); DrawTextToScreen(sText, AIM_HISTORY_TOC_X, (UINT16)(usPosY + AIM_HISTORY_TOC_Y), AIM_CONTENTBUTTON_WIDTH, AIM_HISTORY_TOC_TEXT_FONT, AIM_HISTORY_TOC_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); usPosY += AIM_HISTORY_TOC_GAP_Y; } gfInToc = TRUE; return(TRUE); }
void RenderFloristCards() { UINT8 i,j, ubCount; UINT16 usPosX, usPosY; wchar_t sTemp[ 640 ]; UINT32 uiStartLoc=0; HVOBJECT hPixHandle; UINT16 usHeightOffset; DisplayFloristDefaults(); DrawTextToScreen( sFloristCards[FLORIST_CARDS_CLICK_SELECTION], FLORIST_CARD_TITLE_SENTENCE_X, FLORIST_CARD_TITLE_SENTENCE_Y, FLORIST_CARD_TITLE_SENTENCE_WIDTH, FONT10ARIAL, FLORIST_CARDS_SENTENCE_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); GetVideoObject(&hPixHandle, guiCardBackground); usPosY = FLORIST_CARD_FIRST_POS_Y; ubCount = 0; for(j=0; j<3; j++) { usPosX = FLORIST_CARD_FIRST_POS_X; for(i=0; i<3; i++) { //The flowe account box BltVideoObject(FRAME_BUFFER, hPixHandle, 0, usPosX, usPosY, VO_BLT_SRCTRANSPARENCY,NULL); //Get and display the card saying uiStartLoc = FLOR_CARD_TEXT_TITLE_SIZE * ubCount; LoadEncryptedDataFromFile(FLOR_CARD_TEXT_FILE, sTemp, uiStartLoc, FLOR_CARD_TEXT_TITLE_SIZE); // DisplayWrappedString((UINT16)(usPosX+7), (UINT16)(usPosY+15), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); usHeightOffset = IanWrappedStringHeight( (UINT16)(usPosX+7), (UINT16)(usPosY), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, 0, FALSE, 0); usHeightOffset = ( FLORIST_CARD_TEXT_HEIGHT - usHeightOffset ) / 2; IanDisplayWrappedString( (UINT16)(usPosX+7), (UINT16)(usPosY+10+usHeightOffset), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, 0, FALSE, 0); ubCount++; usPosX += FLORIST_CARD_FIRST_OFFSET_X; } usPosY += FLORIST_CARD_FIRST_OFFSET_Y; } MarkButtonsDirty( ); RenderWWWProgramTitleBar( ); InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
BOOLEAN GetVideoObjectPalette16BPP(INT32 uiVideoObject, UINT16 **ppPal16) { HVOBJECT hVObject; // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_GETVIDEOOBJECTPALETTE16BPP; #endif CHECKF( GetVideoObject( &hVObject, uiVideoObject ) ); *ppPal16 = hVObject->p16BPPPalette; return( TRUE ); }
BOOLEAN CopyVideoObjectPalette16BPP(INT32 uiVideoObject, UINT16 *ppPal16) { HVOBJECT hVObject; // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_COPYVIDEOOBJECTPALETTE16BPP; #endif CHECKF( GetVideoObject( &hVObject, uiVideoObject ) ); memcpy(ppPal16, hVObject->p16BPPPalette, 256*2); return( TRUE ); }
UINT16 SetObjectHandleShade(UINT32 uiHandle, UINT32 uiShade) { HVOBJECT hObj; #ifdef _DEBUG gubVODebugCode = DEBUGSTR_SETOBJECTHANDLESHADE; #endif if(!GetVideoObject(&hObj, uiHandle)) { DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_2, String("Invalid object handle for setting shade level")); return(FALSE); } return(SetObjectShade(hObj, uiShade)); }
void RenderAnalyse(INT16 sX, INT16 sY, INT8 bImageNumber) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiANALYSE); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, bImageNumber, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
BOOLEAN GetVideoObjectETRLEPropertiesFromIndex( UINT32 uiVideoObject, ETRLEObject *pETRLEObject, UINT16 usIndex ) { HVOBJECT hVObject; // Get video object #ifdef _DEBUG gubVODebugCode = DEBUGSTR_GETVIDEOOBJECTETRLEPROPERTIESFROMINDEX; #endif CHECKF( GetVideoObject( &hVObject, uiVideoObject ) ); CHECKF( GetVideoObjectETRLEProperties( hVObject, pETRLEObject, usIndex ) ); return( TRUE ); }