コード例 #1
0
ファイル: TerminalSettings.cs プロジェクト: FNKGino/poderosa
        //IShellSchemeDynamicChangeListener
        public void OnShellSchemeCollectionChanged(IShellScheme[] values, Poderosa.Util.Collections.TypedHashtable<IShellScheme, IShellScheme> table)
        {
            if (_shellScheme == null)
                return;

            IShellScheme ns = table[_shellScheme];
            Debug.Assert(ns != null);
            BeginUpdate();
            _shellScheme = ns;
            _shellSchemeName = ns.Name;
            EndUpdate(); //これで通知が出る。例えばShellScheme選択コンボボックス。
        }
コード例 #2
0
        /// <summary>
        /// 表示プロファイルを取り込みます。
        /// </summary>
        /// <param name="profile"></param>
        public void ImportRenderProfile(Poderosa.View.RenderProfile profile)
        {
            RpFontName = profile.FontName;
            RpCjkFontName = profile.CJKFontName;
            RpFontSize = profile.FontSize;
            RpUseClearType = profile.UseClearType;
            RpEnableBoldStyle = profile.EnableBoldStyle;
            RpForceBoldStyle = profile.ForceBoldStyle;
            RpForeColor = profile.ForeColor;
            RpBackColor = profile.BackColor;
            RpBackgroundImageFileName = profile.BackgroundImageFileName;
            RpImageStyle = profile.ImageStyle;

            ImportEscapeSequenceColorSet(profile.ESColorSet);
        }
コード例 #3
0
        private int FontProc(ref Poderosa.Win32.ENUMLOGFONTEX lpelfe, ref Poderosa.Win32.NEWTEXTMETRICEX lpntme, uint FontType, IntPtr lParam)
        {
            //(lpelfe.lfPitchAndFamily & 2)==0)
            bool interesting = FontType == 4 && (lpntme.ntmTm.tmPitchAndFamily & 1) == 0 && lpelfe.lfFaceName[0] != '@';
            //Terminalは依然ダメ
            //if(!interesting)
            //	if(lpelfe.lfFaceName=="FixedSys" || lpelfe.lfFaceName=="Terminal") interesting = true; //この2つだけはTrueTypeでなくともリストにいれる

            if (interesting) { //縦書きでないことはこれでしか判定できないのか?
                //さぼり
                if (/*_language==Language.Japanese && */lpntme.ntmTm.tmCharSet == 128/*SHIFTJIS_CHARSET*/
                    || lpntme.ntmTm.tmCharSet == 129/*HANGUL_CHARSET*/
                    || lpntme.ntmTm.tmCharSet == 130/*JOHAB_CHARSET*/
                    || lpntme.ntmTm.tmCharSet == 134/*GB2312_CHARSET*/
                    || lpntme.ntmTm.tmCharSet == 136/*CHINESEBIG5_CHARSET*/) {
                    _cjkFontList.Items.Add(lpelfe.lfFaceName);
                    //日本語フォントでもASCIIは必ず表示できるはず
                    if (_asciiFontList.FindStringExact(lpelfe.lfFaceName) == -1)
                        _asciiFontList.Items.Add(lpelfe.lfFaceName);
                }
                else if (lpntme.ntmTm.tmCharSet == 0) {
                    if (_asciiFontList.FindStringExact(lpelfe.lfFaceName) == -1)
                        _asciiFontList.Items.Add(lpelfe.lfFaceName);
                }
            }
            return 1;
        }
コード例 #4
0
 /// <summary>
 /// 色指定エスケープシーケンスセットを取り込みます。
 /// </summary>
 /// <param name="colorSet"></param>
 public void ImportEscapeSequenceColorSet(Poderosa.View.EscapesequenceColorSet colorSet)
 {
     EsColor0 = colorSet[0].Color;
     EsColor1 = colorSet[1].Color;
     EsColor2 = colorSet[2].Color;
     EsColor3 = colorSet[3].Color;
     EsColor4 = colorSet[4].Color;
     EsColor5 = colorSet[5].Color;
     EsColor6 = colorSet[6].Color;
     EsColor7 = colorSet[7].Color;
 }
コード例 #5
0
        //IShellSchemeDynamicChangeListener
        public void OnShellSchemeCollectionChanged(IShellScheme[] values, Poderosa.Util.Collections.TypedHashtable<IShellScheme, IShellScheme> table)
        {
            if (_shellScheme == null)
                return;

            IShellScheme ns = table[_shellScheme];
            Debug.Assert(ns != null);
            BeginUpdate();
            _shellScheme = ns;
            _shellSchemeName = ns.Name;
            EndUpdate(); //����Œʒm���o��B�Ⴆ��ShellScheme�I��R���{�{�b�N�X�B
        }