当前位置: 首页>>代码示例>>C++>>正文


C++ CodeEditorComponent::getColourForTokenType方法代码示例

本文整理汇总了C++中CodeEditorComponent::getColourForTokenType方法的典型用法代码示例。如果您正苦于以下问题:C++ CodeEditorComponent::getColourForTokenType方法的具体用法?C++ CodeEditorComponent::getColourForTokenType怎么用?C++ CodeEditorComponent::getColourForTokenType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CodeEditorComponent的用法示例。


在下文中一共展示了CodeEditorComponent::getColourForTokenType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: draw

    void draw (CodeEditorComponent& owner, Graphics& g, const Font& font,
               float x, const int y, const int baselineOffset, const int lineHeight,
               const Colour& highlightColour) const
    {
        if (highlightColumnStart < highlightColumnEnd)
        {
            g.setColour (highlightColour);
            g.fillRect (roundToInt (x + highlightColumnStart * owner.getCharWidth()), y,
                        roundToInt ((highlightColumnEnd - highlightColumnStart) * owner.getCharWidth()), lineHeight);
        }

        int lastType = std::numeric_limits<int>::min();

        for (int i = 0; i < tokens.size(); ++i)
        {
            SyntaxToken& token = tokens.getReference(i);

            if (lastType != token.tokenType)
            {
                lastType = token.tokenType;
                g.setColour (owner.getColourForTokenType (lastType));
            }

            g.drawSingleLineText (token.text, roundToInt (x), y + baselineOffset);

            if (i < tokens.size() - 1)
            {
                if (token.width < 0)
                    token.width = font.getStringWidthFloat (token.text);

                x += token.width;
            }
        }
    }
开发者ID:SonicPotions,项目名称:editor,代码行数:34,代码来源:juce_CodeEditorComponent.cpp

示例2: draw

    void draw (CodeEditorComponent& owner, Graphics& g, const Font& font,
               float x, const int y, const int baselineOffset, const int lineHeight,
               const Colour& highlightColour) const throw()
    {
        if (highlightColumnStart < highlightColumnEnd)
        {
            g.setColour (highlightColour);
            g.fillRect (roundToInt (x + highlightColumnStart * owner.getCharWidth()), y,
                        roundToInt ((highlightColumnEnd - highlightColumnStart) * owner.getCharWidth()), lineHeight);
        }

        int lastType = INT_MIN;

        for (int i = 0; i < tokens.size(); ++i)
        {
            SyntaxToken* const token = tokens.getUnchecked(i);

            if (lastType != token->tokenType)
            {
                lastType = token->tokenType;
                g.setColour (owner.getColourForTokenType (lastType));
            }

            g.drawSingleLineText (token->text, roundToInt (x), y + baselineOffset);

            if (i < tokens.size() - 1)
            {
                if (token->width < 0)
                    token->width = font.getStringWidthFloat (token->text);

                x += token->width;
            }
        }
    }
开发者ID:alessandropetrolati,项目名称:juced,代码行数:34,代码来源:juce_CodeEditorComponent.cpp

示例3: draw

    void draw (CodeEditorComponent& owner, Graphics& g, const Font& fontToUse,
               const float rightClip, const float x, const int y,
               const int lineH, const float characterWidth) const
    {
        Colour lastColour (0x00000001);

        AttributedString as;
        as.setJustification (Justification::centredLeft);

        int column = 0;

        for (int i = 0; i < tokens.size(); ++i)
        {
            const float tokenX = x + column * characterWidth;
            if (tokenX > rightClip)
                break;

            const SyntaxToken& token = tokens.getReference(i);
            as.append (token.text.removeCharacters ("\r\n"), fontToUse, owner.getColourForTokenType (token.tokenType));
            column += token.length;
        }

        as.draw (g, Rectangle<float> (x, (float) y, 10000.0f, (float) lineH));
    }
开发者ID:grimtraveller,项目名称:mlrVST,代码行数:24,代码来源:juce_CodeEditorComponent.cpp


注:本文中的CodeEditorComponent::getColourForTokenType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。