sdrv_textoutrect.c

来自「MP3 整个 SDK」· C语言 代码 · 共 63 行

C
63
字号
/*
********************************************************************************
*                       ACTOS
*                  ui dirver show picture
*
*                (c) Copyright 2002-2003, Actions Co,Ld.
*                        All Right Reserved
*
* File   : Sdrv_TextOutRect.c
* By     : Rcmai
* Version: 1> v1.00     first version     10/17/2003 10:46PM
********************************************************************************
*/                  
#include "display.h"   
#include "Drv_S6B33B0A.h"

#pragma memory=constseg(BBS_PUTS)
#pragma memory=default

#pragma memory=dataseg(BBD_PUTS)
#pragma memory=default

#pragma codeseg(BBC_PUTS)

////*******************************************************************************/
///*   non_banked void Sdrv_TextOutRect(region_t * region, char *str);
//** FUNCTION:     Sdrv_TextOutRect
//**
//** Description:  在指定的区域上输出一个字符串,如串的长度超过区域则自动换行
//                      直到字符结束或区域用完
//**  input
//**     region_t * TORregion: 指定输出字符的区域 ; 
//**     strlen: 字符串首址
//**
//**  output
//**     none
//********************************************************************************/
non_banked void Sdrv_TextOutRect(region_t * TORregion, char *str)
{
    char *str_tmp;//记录当前输出到的字符首址
    region_t oldregion_bak;//备份原来的窗口值

    oldregion_bak = region_win;

    //设置输出窗口
    region_win = *TORregion;

    //
    str_tmp = str;

    //设置输出字符串的起点
    region.x = region_win.x;
    region.y = region_win.y;
    do
    {
        str_tmp = BAPI_PutS(str_tmp, -1);
        region.x = region_win.x;    //回到区域首列
        region.y += StrHeight;      //加刚才那一行的高度       
    }while(PutCharErrFlag == RESULT_PUTCHAR_X_ERR);//x轴超限,要回到下一行
    region_win = oldregion_bak;//恢复原来的窗口
    return;
}

⌨️ 快捷键说明

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