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

📄 cfstring.cpp

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        src/mac/corefoundation/cfstring.cpp// Purpose:     wxCFStringHolder and other string functions// Author:      Stefan Csomor// Modified by:// Created:     2004-10-29 (from code in src/mac/carbon/utils.cpp)// RCS-ID:      $Id: cfstring.cpp,v 1.9 2006/07/24 18:01:38 VZ Exp $// Copyright:   (c) Stefan Csomor// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#include "wx/wxprec.h"#ifndef WX_PRECOMP    #include "wx/string.h"    #include "wx/intl.h"    #if wxUSE_GUI        #include "wx/font.h"    #endif#endif#include "wx/mac/corefoundation/cfstring.h"#ifdef __DARWIN__    #include <CoreServices/CoreServices.h>#else    #include <TextCommon.h>#endifvoid wxMacConvertNewlines13To10( char * data ){    char * buf = data ;    while( (buf=strchr(buf,0x0d)) != NULL )    {        *buf = 0x0a ;        buf++ ;    }}void wxMacConvertNewlines10To13( char * data ){    char * buf = data ;    while( (buf=strchr(buf,0x0a)) != NULL )    {        *buf = 0x0d ;        buf++ ;    }}void wxMacConvertNewlines13To10( wxString * data ){    size_t len = data->Length() ;    if ( len == 0 || wxStrchr(data->c_str(),0x0d)==NULL)        return ;    wxString temp(*data) ;    wxStringBuffer buf(*data,len ) ;    memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;    wxMacConvertNewlines13To10( buf ) ;}void wxMacConvertNewlines10To13( wxString * data ){    size_t len = data->Length() ;    if ( data->Length() == 0 || wxStrchr(data->c_str(),0x0a)==NULL)        return ;    wxString temp(*data) ;    wxStringBuffer buf(*data,len ) ;    memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;    wxMacConvertNewlines10To13( buf ) ;}#if wxUSE_UNICODEvoid wxMacConvertNewlines13To10( wxChar * data ){    wxChar * buf = data ;    while( (buf=wxStrchr(buf,0x0d)) != NULL )    {        *buf = 0x0a ;        buf++ ;    }}void wxMacConvertNewlines10To13( wxChar * data ){    wxChar * buf =  data ;    while( (buf=wxStrchr(buf,0x0a)) != NULL )    {        *buf = 0x0d ;        buf++ ;    }}#endifwxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding){    TextEncodingBase enc = 0 ;    if ( encoding == wxFONTENCODING_DEFAULT )    {#if wxUSE_GUI        encoding = wxFont::GetDefaultEncoding() ;#else        encoding = wxFONTENCODING_SYSTEM; // to be set below#endif    }    if ( encoding == wxFONTENCODING_SYSTEM )    {        enc = CFStringGetSystemEncoding();    }    switch( encoding)    {    case wxFONTENCODING_ISO8859_1 :        enc = kTextEncodingISOLatin1 ;        break ;    case wxFONTENCODING_ISO8859_2 :        enc = kTextEncodingISOLatin2;        break ;    case wxFONTENCODING_ISO8859_3 :        enc = kTextEncodingISOLatin3 ;        break ;    case wxFONTENCODING_ISO8859_4 :        enc = kTextEncodingISOLatin4;        break ;    case wxFONTENCODING_ISO8859_5 :        enc = kTextEncodingISOLatinCyrillic;        break ;    case wxFONTENCODING_ISO8859_6 :        enc = kTextEncodingISOLatinArabic;        break ;    case wxFONTENCODING_ISO8859_7 :        enc = kTextEncodingISOLatinGreek;        break ;    case wxFONTENCODING_ISO8859_8 :        enc = kTextEncodingISOLatinHebrew;        break ;    case wxFONTENCODING_ISO8859_9 :        enc = kTextEncodingISOLatin5;        break ;    case wxFONTENCODING_ISO8859_10 :        enc = kTextEncodingISOLatin6;        break ;    case wxFONTENCODING_ISO8859_13 :        enc = kTextEncodingISOLatin7;        break ;    case wxFONTENCODING_ISO8859_14 :        enc = kTextEncodingISOLatin8;        break ;    case wxFONTENCODING_ISO8859_15 :        enc = kTextEncodingISOLatin9;        break ;    case wxFONTENCODING_KOI8 :        enc = kTextEncodingKOI8_R;        break ;    case wxFONTENCODING_ALTERNATIVE : // MS-DOS CP866        enc = kTextEncodingDOSRussian;        break ;/*    case wxFONTENCODING_BULGARIAN :        enc = ;        break ;*/    case wxFONTENCODING_CP437 :        enc =kTextEncodingDOSLatinUS ;        break ;    case wxFONTENCODING_CP850 :        enc = kTextEncodingDOSLatin1;        break ;    case wxFONTENCODING_CP852 :        enc = kTextEncodingDOSLatin2;        break ;    case wxFONTENCODING_CP855 :        enc = kTextEncodingDOSCyrillic;        break ;    case wxFONTENCODING_CP866 :        enc =kTextEncodingDOSRussian ;        break ;    case wxFONTENCODING_CP874 :        enc = kTextEncodingDOSThai;        break ;    case wxFONTENCODING_CP932 :        enc = kTextEncodingDOSJapanese;        break ;    case wxFONTENCODING_CP936 :        enc = kTextEncodingDOSChineseSimplif ;        break ;    case wxFONTENCODING_CP949 :        enc = kTextEncodingDOSKorean;        break ;    case wxFONTENCODING_CP950 :        enc = kTextEncodingDOSChineseTrad;        break ;    case wxFONTENCODING_CP1250 :        enc = kTextEncodingWindowsLatin2;        break ;    case wxFONTENCODING_CP1251 :        enc =kTextEncodingWindowsCyrillic ;        break ;    case wxFONTENCODING_CP1252 :        enc =kTextEncodingWindowsLatin1 ;        break ;    case wxFONTENCODING_CP1253 :        enc = kTextEncodingWindowsGreek;        break ;    case wxFONTENCODING_CP1254 :        enc = kTextEncodingWindowsLatin5;        break ;    case wxFONTENCODING_CP1255 :        enc =kTextEncodingWindowsHebrew ;        break ;    case wxFONTENCODING_CP1256 :        enc =kTextEncodingWindowsArabic ;        break ;    case wxFONTENCODING_CP1257 :        enc = kTextEncodingWindowsBalticRim;        break ;    case wxFONTENCODING_UTF7 :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF7Format) ;        break ;    case wxFONTENCODING_UTF8 :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicodeUTF8Format) ;        break ;    case wxFONTENCODING_EUC_JP :        enc = kTextEncodingEUC_JP;        break ;    case wxFONTENCODING_UTF16BE :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;        break ;    case wxFONTENCODING_UTF16LE :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode16BitFormat) ;        break ;    case wxFONTENCODING_UTF32BE :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;        break ;    case wxFONTENCODING_UTF32LE :        enc = CreateTextEncoding(kTextEncodingUnicodeDefault,0,kUnicode32BitFormat) ;        break ;    case wxFONTENCODING_MACROMAN :        enc = kTextEncodingMacRoman ;        break ;    case wxFONTENCODING_MACJAPANESE :        enc = kTextEncodingMacJapanese ;        break ;    case wxFONTENCODING_MACCHINESETRAD :        enc = kTextEncodingMacChineseTrad ;        break ;    case wxFONTENCODING_MACKOREAN :        enc = kTextEncodingMacKorean ;        break ;    case wxFONTENCODING_MACARABIC :        enc = kTextEncodingMacArabic ;        break ;    case wxFONTENCODING_MACHEBREW :        enc = kTextEncodingMacHebrew ;        break ;    case wxFONTENCODING_MACGREEK :        enc = kTextEncodingMacGreek ;        break ;    case wxFONTENCODING_MACCYRILLIC :        enc = kTextEncodingMacCyrillic ;        break ;    case wxFONTENCODING_MACDEVANAGARI :        enc = kTextEncodingMacDevanagari ;        break ;    case wxFONTENCODING_MACGURMUKHI :        enc = kTextEncodingMacGurmukhi ;        break ;    case wxFONTENCODING_MACGUJARATI :        enc = kTextEncodingMacGujarati ;        break ;    case wxFONTENCODING_MACORIYA :        enc = kTextEncodingMacOriya ;        break ;    case wxFONTENCODING_MACBENGALI :        enc = kTextEncodingMacBengali ;        break ;    case wxFONTENCODING_MACTAMIL :        enc = kTextEncodingMacTamil ;        break ;    case wxFONTENCODING_MACTELUGU :        enc = kTextEncodingMacTelugu ;        break ;    case wxFONTENCODING_MACKANNADA :        enc = kTextEncodingMacKannada ;        break ;    case wxFONTENCODING_MACMALAJALAM :        enc = kTextEncodingMacMalayalam ;        break ;    case wxFONTENCODING_MACSINHALESE :        enc = kTextEncodingMacSinhalese ;        break ;    case wxFONTENCODING_MACBURMESE :        enc = kTextEncodingMacBurmese ;        break ;    case wxFONTENCODING_MACKHMER :        enc = kTextEncodingMacKhmer ;        break ;    case wxFONTENCODING_MACTHAI :        enc = kTextEncodingMacThai ;        break ;    case wxFONTENCODING_MACLAOTIAN :        enc = kTextEncodingMacLaotian ;        break ;    case wxFONTENCODING_MACGEORGIAN :        enc = kTextEncodingMacGeorgian ;        break ;    case wxFONTENCODING_MACARMENIAN :        enc = kTextEncodingMacArmenian ;        break ;    case wxFONTENCODING_MACCHINESESIMP :        enc = kTextEncodingMacChineseSimp ;        break ;    case wxFONTENCODING_MACTIBETAN :        enc = kTextEncodingMacTibetan ;        break ;    case wxFONTENCODING_MACMONGOLIAN :        enc = kTextEncodingMacMongolian ;        break ;    case wxFONTENCODING_MACETHIOPIC :        enc = kTextEncodingMacEthiopic ;        break ;    case wxFONTENCODING_MACCENTRALEUR :        enc = kTextEncodingMacCentralEurRoman ;        break ;    case wxFONTENCODING_MACVIATNAMESE :        enc = kTextEncodingMacVietnamese ;        break ;    case wxFONTENCODING_MACARABICEXT :        enc = kTextEncodingMacExtArabic ;        break ;    case wxFONTENCODING_MACSYMBOL :        enc = kTextEncodingMacSymbol ;        break ;    case wxFONTENCODING_MACDINGBATS :        enc = kTextEncodingMacDingbats ;        break ;    case wxFONTENCODING_MACTURKISH :        enc = kTextEncodingMacTurkish ;        break ;    case wxFONTENCODING_MACCROATIAN :        enc = kTextEncodingMacCroatian ;        break ;    case wxFONTENCODING_MACICELANDIC :        enc = kTextEncodingMacIcelandic ;        break ;    case wxFONTENCODING_MACROMANIAN :        enc = kTextEncodingMacRomanian ;        break ;    case wxFONTENCODING_MACCELTIC :        enc = kTextEncodingMacCeltic ;        break ;    case wxFONTENCODING_MACGAELIC :        enc = kTextEncodingMacGaelic ;        break ;    case wxFONTENCODING_MACKEYBOARD :        enc = kTextEncodingMacKeyboardGlyphs ;        break ;    default : // to make gcc happy        break ;    };    return enc ;}wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding){    wxFontEncoding enc = wxFONTENCODING_DEFAULT ;    switch( encoding)    {

⌨️ 快捷键说明

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