⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 haljpeg.~c

📁 ct952 source code use for Digital Frame Photo
💻 ~C
📖 第 1 页 / 共 5 页
字号:
        break;    case HALJPEG_OPERATION_FH:        {            switch (bCurrentOperation)            {            case HALJPEG_OPERATION_RC:                _bHALJPEGTemp = HALJPEG_OPERATION_RCFV;                break;            case HALJPEG_OPERATION_RCC:                _bHALJPEGTemp = HALJPEG_OPERATION_RCFH;                break;            case HALJPEG_OPERATION_FH:                _bHALJPEGTemp = HALJPEG_OPERATION_I;                break;            case HALJPEG_OPERATION_FV:                _bHALJPEGTemp = HALJPEG_OPERATION_FHFV;                break;            default:                break;            }        }        break;    case HALJPEG_OPERATION_FV:        {            switch (bCurrentOperation)            {            case HALJPEG_OPERATION_RC:                _bHALJPEGTemp = HALJPEG_OPERATION_RCFH;                break;            case HALJPEG_OPERATION_RCC:                _bHALJPEGTemp = HALJPEG_OPERATION_RCFV;                break;            case HALJPEG_OPERATION_FH:                _bHALJPEGTemp = HALJPEG_OPERATION_FHFV;                break;            case HALJPEG_OPERATION_FV:                _bHALJPEGTemp = HALJPEG_OPERATION_I;                break;            default:                break;            }        }        break;    case HALJPEG_OPERATION_FHFV:        {            switch (bCurrentOperation)            {            case HALJPEG_OPERATION_RC:                _bHALJPEGTemp = HALJPEG_OPERATION_RCC;                break;            case HALJPEG_OPERATION_RCC:                _bHALJPEGTemp = HALJPEG_OPERATION_RC;                break;            case HALJPEG_OPERATION_FH:                _bHALJPEGTemp = HALJPEG_OPERATION_FV;                break;            case HALJPEG_OPERATION_FV:                _bHALJPEGTemp = HALJPEG_OPERATION_FH;                break;            default:                break;            }        }        break;    case HALJPEG_OPERATION_RCFH:        {            switch (bCurrentOperation)            {            case HALJPEG_OPERATION_RC:                _bHALJPEGTemp = HALJPEG_OPERATION_FH;                break;            case HALJPEG_OPERATION_RCC:                _bHALJPEGTemp = HALJPEG_OPERATION_FV;                break;            case HALJPEG_OPERATION_FH:                _bHALJPEGTemp = HALJPEG_OPERATION_RC;                break;            case HALJPEG_OPERATION_FV:                _bHALJPEGTemp = HALJPEG_OPERATION_RCC;                break;            default:                break;            }        }        break;    case HALJPEG_OPERATION_RCFV:        {            switch (bCurrentOperation)            {            case HALJPEG_OPERATION_RC:                _bHALJPEGTemp = HALJPEG_OPERATION_FV;                break;            case HALJPEG_OPERATION_RCC:                _bHALJPEGTemp = HALJPEG_OPERATION_FH;                break;            case HALJPEG_OPERATION_FH:                _bHALJPEGTemp = HALJPEG_OPERATION_RCC;                break;            case HALJPEG_OPERATION_FV:                _bHALJPEGTemp = HALJPEG_OPERATION_RC;                break;            default:                break;            }        }        break;    default:        break;    }    return _bHALJPEGTemp;}//***************************************************************************//  Function    :   HALJPEG_Operation//  Abstract    :   Call this function for rotate and flip. This function can be//              :   called only when JPEG has been decoded OK and just do the "rotate"//              :   or "flip" operation. Note: should call HALJPEG_TransformOperation()//              :   before calling this function.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void HALJPEG_Operation(void){    _HALJPEG_ReScaling();    DISP_Display(__HALJPEGSetting.bFrameBuffer, DISP_MAINVIDEO);}//***************************************************************************//  Function    :   HALJPEG_Status//  Abstract    :   Call this function to get the status of JPEG Decoder.//  Arguments   :   bStatusType: HALJPEG_PARSE_HEADER/HALJPEG_DECODE/HALJPEG_PSFB//  Return      :   HALJPEG_STATUS_UNFINISH/HALJPEG_STATUS_UNSUPPORT///              :   HALJPEG_STATUS_OK/HALJPEG_STATUS_FAIL//  Side Effect :   none.//  Notes       ://***************************************************************************BYTE HALJPEG_Status(BYTE bStatusType){    switch (bStatusType)    {    case HALJPEG_PARSE_HEADER:        return JPEG_Status(JPEG_PARSE_HEADER);    case HALJPEG_DECODE:        return JPEG_Status(JPEG_DECODE);    case HALJPEG_PSFB:                          //tommy0.67        return JPEG_Status(JPEG_PSFB);    case HALJPEG_RESET:        return JPEG_Status(JPEG_RESET);    case HALJPEG_OPERATION:        return JPEG_Status(JPEG_OPERATION);    default:        break;    }    return HALJPEG_STATUS_FAIL;}//***************************************************************************//  Function    :   HALJPEG_Abort//  Abstract    :   Call this function to abort JPEG decoding.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void HALJPEG_Abort(void){    JPEG_Abort();}//***************************************************************************//  Function    :   HALJPEG_Display//  Abstract    :   Call this function to display JPEG.//  Arguments   :   bFrameBuf: Frame buffer 0 or 1.//  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************BYTE HALJPEG_Display(BYTE bFrameBuf){    BYTE bJPEGEffect;    //Call "slide show", "blending", "PIP" functions for effect.    if (__bHALJPEGEffect != HALJPEG_EFFECT_NONE)    {        bJPEGEffect = __bHALJPEGEffect;        if (bJPEGEffect == HALJPEG_EFFECT_RANDOM)        {            bJPEGEffect = _bHALJPEGRandomEffectType;        }        switch (bJPEGEffect)        {        case HALJPEG_EFFECT_COVER_UP:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_COVERUP, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_COVER_DOWN:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_COVERDOWN, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_COVER_LEFT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_COVERLEFT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_COVER_RIGHT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_COVERRIGHT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_UNCOVER_UP:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_UNCOVERUP, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_UNCOVER_DOWN:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_UNCOVERDOWN, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_UNCOVER_LEFT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_UNCOVERLEFT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_UNCOVER_RIGHT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_UNCOVERRIGHT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_WIPE_UP:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_WIPEUP, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_WIPE_DOWN:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_WIPEDOWN, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_WIPE_LEFT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_WIPELEFT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_WIPE_RIGHT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_WIPERIGHT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_PUSH_UP:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_PUSHUP, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_PUSH_DOWN:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_PUSHDOWN, HALJPEG_EFFECT_LINE_V, bFrameBuf);            break;        case HALJPEG_EFFECT_PUSH_LEFT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_PUSHLEFT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_PUSH_RIGHT:            _bHALJPEGTemp = DISP_ShowEffect(SLIDESHOW_PUSHRIGHT, HALJPEG_EFFECT_LINE_H, bFrameBuf);            break;        case HALJPEG_EFFECT_BLIND_HOR:        case HALJPEG_EFFECT_BLIND_VER:        case HALJPEG_EFFECT_COLORATION_HOR:        case HALJPEG_EFFECT_COLORATION_VER:        case HALJPEG_EFFECT_BLOCK_1:        case HALJPEG_EFFECT_BLOCK_2:        case HALJPEG_EFFECT_BLOCK_3:        case HALJPEG_EFFECT_BLOCK_4:        case HALJPEG_EFFECT_BLOCK_5:        case HALJPEG_EFFECT_BLOCK_6:        case HALJPEG_EFFECT_BLOCK_7:        case HALJPEG_EFFECT_BLOCK_8:        case HALJPEG_EFFECT_BLOCK_9:            _bHALJPEGTemp = HALJPEG_ShowEffect(bJPEGEffect,0,bFrameBuf);            break;        default:            break;        }    }    else    {        DISP_Display(bFrameBuf, DISP_MAINVIDEO);        //CoCo0.95, Fix the bug about JPEG PIP is wrong.        DISP_Display(bFrameBuf, DISP_PIP);        DISP_DisplayCtrl(DISP_MAINVIDEO, TRUE);        _bHALJPEGTemp = SLIDESHOW_RET_OK;        _HALJPEG_Clip();    }	__wHALJPEGCurrentDisplayBuf = bFrameBuf; //CoCo2.77    return _bHALJPEGTemp;}//***************************************************************************//  Function    :   _HALJPEG_GetRotateStatus//  Abstract    :   Get the rotating status of JPEG.//  Arguments   :   bOperation: the operation.//  Return          TRUE ==> The image is rotated 90 degree. (Rc or Rcc)//              :   FALSE ==> The image is not rotated 90 degree.//  Side Effect :   none.//  Notes       :   none.//***************************************************************************BYTE _HALJPEG_GetRotateStatus(void){    switch (__HALJPEGSetting.bOperation)    {    case HALJPEG_OPERATION_RC:    case HALJPEG_OPERATION_RCC:    case HALJPEG_OPERATION_RCFH:    case HALJPEG_OPERATION_RCFV:        return TRUE;    default:        break;    }    return FALSE;}//***************************************************************************//  Function    :   _HALJPEG_GetFitWidthOrHeight//  Abstract    :   Calculate the picture should fit width or height.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       :   none.//***************************************************************************void _HALJPEG_GetFitWidthOrHeight(void){    _bHALJPEGTemp = _HALJPEG_GetRotateStatus();    if (_bHALJPEGTemp) //rotate 90 degree    {        // if (_wHALJPEGRealWidth/_wHALJPEGRealHeight > __HALJPEGSetting.wDisplayHeight/__HALJPEGSetting.wDisplayWidth)==>fit height        //fit width        if ((DWORD)((DWORD)_wHALJPEGRealWidth * (DWORD)__HALJPEGSetting.wDisplayWidth) >            (DWORD)((DWORD)_wHALJPEGRealHeight * (DWORD)__HALJPEGSetting.wDisplayHeight))        {            _bHALJPEGFit =  HALJPEG_DISPLAY_FIT_HEIGHT;        }        else //fit width        {            _bHALJPEGFit =  HALJPEG_DISPLAY_FIT_WIDTH;        }    }    else    {        // if (_wHALJPEGRealWidth/_wHALJPEGRealHeight < __HALJPEGSetting.wDisplayWidth/__HALJPEGSetting.wDisplayHeight)==>fit height        //fit height        if ((DWORD)((DWORD)_wHALJPEGRealWidth * (DWORD)__HALJPEGSetting.wDisplayHeight) <            (DWORD)((DWORD)_wHALJPEGRealHeight * (DWORD)__HALJPEGSetting.wDisplayWidth))        {            _bHALJPEGFit = HALJPEG_DISPLAY_FIT_HEIGHT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -