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

📄 haljpeg.~c

📁 ct952 source code use for Digital Frame Photo
💻 ~C
📖 第 1 页 / 共 5 页
字号:
    switch (__HALJPEGSetting.bOperation)    {    case HALJPEG_OPERATION_RC:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_UP;            case VIEW_ZOOM_UP:                return VIEW_ZOOM_LEFT;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_RIGHT;            default:                break;            }        }        break;    case HALJPEG_OPERATION_FHFV:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_RIGHT;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_LEFT;            case VIEW_ZOOM_UP:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_UP;            default:                break;            }        }        break;    case HALJPEG_OPERATION_RCC:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_UP;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_UP:                return VIEW_ZOOM_RIGHT;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_LEFT;            default:                break;            }        }        break;    case HALJPEG_OPERATION_RCFH:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_UP;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_UP:                return VIEW_ZOOM_LEFT;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_RIGHT;            default:                break;            }        }        break;    case HALJPEG_OPERATION_FH:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_RIGHT;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_LEFT;            default:                break;            }        }        break;    case HALJPEG_OPERATION_FV:        {            switch (bAction)            {            case VIEW_ZOOM_UP:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_UP;            default:                break;            }        }        break;    case HALJPEG_OPERATION_RCFV:        {            switch (bAction)            {            case VIEW_ZOOM_LEFT:                return VIEW_ZOOM_DOWN;            case VIEW_ZOOM_RIGHT:                return VIEW_ZOOM_UP;            case VIEW_ZOOM_UP:                return VIEW_ZOOM_RIGHT;            case VIEW_ZOOM_DOWN:                return VIEW_ZOOM_LEFT;            default:                break;            }        }        break;    default:        break;    }    return bAction;}//***************************************************************************//  Function    :   _HALJPEG_DoZoomPanReScaling//  Abstract    :   This function will do zoom/pan action by re-scaling.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void _HALJPEG_DoZoomPanReScaling(void){    _HALJPEG_ReScaling();    _HALJPEG_Clip();    DISP_Display(__HALJPEGSetting.bFrameBuffer, DISP_MAINVIDEO);    //CoCo0.95, Fix the bug about JPEG PIP is wrong    DISP_Display(__HALJPEGSetting.bFrameBuffer, DISP_PIP);}//***************************************************************************//  Function    :   _HALJPEG_GetPanBoundary//  Abstract    :   call this function to get left, right, up and down boundary.//  Arguments   :   bAction,//              :   VIEW_ZOOM_RIGHT ==> get right boundary//              :   VIEW_ZOOM_LEFT ==> get left boundary//              :   VIEW_ZOOM_UP ==> get up boundary//              :   VIEW_ZOOM_DOWN ==> get down boundary//  Return      :   Horizontal/Vertical position.//  Side Effect :   none.//  Notes       ://***************************************************************************WORD _HALJPEG_GetPanBoundary (BYTE bAction){    //To get the rotating status. Rotating 90 degree==>TRUE. Else==>FALSE.    _bHALJPEGTemp = _HALJPEG_GetRotateStatus();    switch (bAction)    {    case VIEW_ZOOM_LEFT:        if (!_bHALJPEGScalingAll || (_bHALJPEGScalingAll &&!_bHALJPEGTemp)) //Extract part of the image from the FOrg || not rotate        {            if (_bHALJPEGScalingAll && (_wHALJPEGClipWidth >= _wHALJPEGScalingWidth))            {                _wHALJPEGTemp = _wHALJPEGClipHStart;            }            else            {                _wHALJPEGTemp = HALJPEG_DISPLAY_BUF_WIDTH -_wHALJPEGScalingWidth;                _wHALJPEGTemp >>= 1;            }        }        else		{			if (_wHALJPEGClipWidth >= _wHALJPEGScalingHeight)				_wHALJPEGTemp = _wHALJPEGClipHStart;			else			{				_wHALJPEGTemp = HALJPEG_DISPLAY_BUF_WIDTH - _wHALJPEGScalingHeight;				_wHALJPEGTemp >>= 1;			}		}        break;    case VIEW_ZOOM_RIGHT:        if (!_bHALJPEGScalingAll || (_bHALJPEGScalingAll &&!_bHALJPEGTemp)) //Extract part of the image from the FOrg.        {            if (_bHALJPEGScalingAll && (_wHALJPEGClipWidth >= _wHALJPEGScalingWidth))            {                _wHALJPEGTemp = _wHALJPEGClipHStart;            }            else            {                _wHALJPEGTemp = HALJPEG_DISPLAY_BUF_WIDTH - _wHALJPEGScalingWidth;                _wHALJPEGTemp >>= 1;                _wHALJPEGTemp = _wHALJPEGTemp + _wHALJPEGScalingWidth - _wHALJPEGClipWidth;            }        }        else        {            if (_wHALJPEGClipWidth >= _wHALJPEGScalingHeight)                _wHALJPEGTemp = _wHALJPEGClipHStart;            else            {                _wHALJPEGTemp = HALJPEG_DISPLAY_BUF_WIDTH - _wHALJPEGScalingHeight;                _wHALJPEGTemp >>= 1;                _wHALJPEGTemp = _wHALJPEGTemp + _wHALJPEGScalingHeight - _wHALJPEGClipWidth;            }        }        break;    case VIEW_ZOOM_UP:        if (!_bHALJPEGScalingAll || (_bHALJPEGScalingAll &&!_bHALJPEGTemp)) //Extract part of the image from the FOrg.        {            if (_bHALJPEGScalingAll && (_wHALJPEGClipHeight >= _wHALJPEGScalingHeight))            {                _wHALJPEGTemp = _wHALJPEGClipVStart;            }            else            {                _wHALJPEGTemp = HALJPEG_DISPLAY_BUF_HEIGHT - _wHALJPEGScalingHeight;                _wHALJPEGTemp >>= 1;            }        }        else		{			if (_wHALJPEGClipHeight >= _wHALJPEGScalingWidth)				_wHALJPEGTemp = _wHALJPEGClipVStart;			else			{				_wHALJPEGTemp = HALJPEG_DISPLAY_BUF_HEIGHT - _wHALJPEGScalingWidth;				_wHALJPEGTemp >>= 1;			}		}        break;    case VIEW_ZOOM_DOWN:        if (!_bHALJPEGScalingAll || (_bHALJPEGScalingAll &&!_bHALJPEGTemp)) //Extract part of the image from the FOrg.        {            if (_bHALJPEGScalingAll && (_wHALJPEGClipHeight >= _HALJPEGScaling.wScalingHeight))            {                _wHALJPEGTemp = _wHALJPEGClipVStart;            }            else            {                _wHALJPEGTemp = HALJPEG_DISPLAY_BUF_HEIGHT - _wHALJPEGScalingHeight;                _wHALJPEGTemp >>= 1;                _wHALJPEGTemp = _wHALJPEGTemp + _wHALJPEGScalingHeight - _wHALJPEGClipHeight;            }        }        else		{			if (_wHALJPEGClipHeight >= _wHALJPEGScalingWidth)				_wHALJPEGTemp = _wHALJPEGClipVStart;			else			{				_wHALJPEGTemp = HALJPEG_DISPLAY_BUF_HEIGHT - _wHALJPEGScalingWidth;				_wHALJPEGTemp >>= 1;				_wHALJPEGTemp = _wHALJPEGTemp + _wHALJPEGScalingWidth - _wHALJPEGClipHeight;			}		}        break;    }    return _wHALJPEGTemp;}//***************************************************************************//  Function    :   _HALJPEG_ForceTo8Multiple//  Abstract    :   Transfer the value to 8's multiple.//  Arguments   :   wValue: The value you want to transfer to.//  Return      :   none.//  Side Effect :   none.//  Notes       :   none.//***************************************************************************void _HALJPEG_ForceTo8Multiple(WORD *wValue){    *wValue = (*wValue + 7) >> 3;    *wValue <<= 3;}//***************************************************************************//  Function    :   _HALJPEG_Clip//  Abstract    :   Call DISP's clip function to do clip.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       :   none.//***************************************************************************void _HALJPEG_Clip(void){    _JPEGClipWinParameter.sHStart = _wHALJPEGClipHStart;    _JPEGClipWinParameter.wHWidth = _wHALJPEGClipWidth;    _JPEGClipWinParameter.sVStart = _wHALJPEGClipVStart;    _JPEGClipWinParameter.wVWidth = _wHALJPEGClipHeight;    _JPEGClipWinParameter.bEnable = TRUE;    //Call "clip" function    // Chuan0.66, remove two parameters.    DISP_Clip(&_JPEGClipWinParameter, /*__HALJPEGSetting.bFrameBuffer*/DISP_NEXTVSYNC, DISP_MAINVIDEO);}//***************************************************************************//  Function    :   HALJPEG_ChangeTVMode//  Abstract    :   Call this function when TV mode is changed.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       :   none.//***************************************************************************void HALJPEG_ChangeTVMode(void){    /*    __dwCoded_Picture_Width = HALJPEG_DISPLAY_BUF_WIDTH;    __dwCoded_Picture_Height = HALJPEG_DISPLAY_BUF_HEIGHT;    DISP_MainVideoSet(&MainVideoInfo, __dwCoded_Picture_Width, __dwCoded_Picture_Height, DISP_NEXTVSYNC);    */    HALJPEG_SetDisplay();    _HALJPEG_Clip();}//***************************************************************************//  Function    :   _HALJPEG_ReScaling//  Abstract    :   This function will do zoom/pan action by re-scaling.//  Arguments   :   none.//  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void _HALJPEG_ReScaling(void){#ifdef SUPPORT_JPEG_FULL_SCREEN    WORD wSrcOffsetH = 0;    WORD wSrcOffsetV = 0;#endif //SUPPORT_JPEG_FULL_SCREEN#ifndef JPG_SINGLE_FRAME_BUFFER	    //__HALJPEGSetting.bFrameBuffer = !__HALJPEGSetting.bFrameBuffer;	__wHALJPEGCurrentDisplayBuf = !__wHALJPEGCurrentDisplayBuf;	__H

⌨️ 快捷键说明

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