Ignore:
Timestamp:
Dec 23, 2019 3:27:09 AM (4 years ago)
Author:
nanang
Message:

Re #2255: Fixed wrong check of fullscreen mode in window creation and added pjsua app commands for fullscreen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia-videodev/sdl_dev.c

    r6117 r6123  
    702702        } 
    703703 
    704         if (!((strm->param.flags & PJMEDIA_VID_DEV_CAP_OUTPUT_FULLSCREEN) && 
    705             strm->param.window_fullscreen)) 
     704        if ((strm->param.flags & PJMEDIA_VID_DEV_CAP_OUTPUT_FULLSCREEN) && 
     705            strm->param.window_fullscreen) 
    706706        { 
    707707            flags |= SDL_WINDOW_FULLSCREEN; 
     
    12051205        return status;   
    12061206    } else if (cap == PJMEDIA_VID_DEV_CAP_OUTPUT_FULLSCREEN) { 
    1207         int flag; 
     1207        Uint32 flag; 
     1208 
     1209        flag = SDL_GetWindowFlags(strm->window); 
    12081210        if (*(pj_bool_t *)pval) 
    1209             flag = SDL_WINDOW_FULLSCREEN; 
     1211            flag |= SDL_WINDOW_FULLSCREEN; 
    12101212        else 
    1211             flag = 0; 
     1213            flag &= (~SDL_WINDOW_FULLSCREEN); 
     1214 
    12121215        SDL_SetWindowFullscreen(strm->window, flag); 
     1216 
     1217        /* Trying to restore the border after returning from fullscreen, 
     1218         * unfortunately not sure how to put back the resizable flag. 
     1219         */ 
     1220        if ((flag & SDL_WINDOW_FULLSCREEN)==0 && 
     1221            (flag & SDL_WINDOW_BORDERLESS)==0) 
     1222        { 
     1223            SDL_SetWindowBordered(strm->window, PJ_FALSE); 
     1224            SDL_SetWindowBordered(strm->window, PJ_TRUE); 
     1225        } 
     1226 
    12131227        return PJ_SUCCESS; 
    12141228    } 
Note: See TracChangeset for help on using the changeset viewer.