Browse Source

Refactored the software renderer code, moving most of the guts into the juce_RenderingHelpers.h header file to make it possible for people to use it in their own code.

tags/2021-05-28
jules 13 years ago
parent
commit
6e743c8f12
3 changed files with 2094 additions and 2173 deletions
  1. +20
    -2107
      modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp
  2. +5
    -12
      modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h
  3. +2069
    -54
      modules/juce_graphics/native/juce_RenderingHelpers.h

+ 20
- 2107
modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp
File diff suppressed because it is too large
View File


+ 5
- 12
modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h View File

@@ -27,10 +27,7 @@
#define __JUCE_LOWLEVELGRAPHICSSOFTWARERENDERER_JUCEHEADER__
#include "juce_LowLevelGraphicsContext.h"
#ifndef DOXYGEN
#include "../native/juce_RenderingHelpers.h"
#endif
//==============================================================================
/**
@@ -44,8 +41,9 @@ class JUCE_API LowLevelGraphicsSoftwareRenderer : public LowLevelGraphicsCon
{
public:
//==============================================================================
LowLevelGraphicsSoftwareRenderer (const Image& imageToRenderOn);
LowLevelGraphicsSoftwareRenderer (const Image& imageToRenderOn, const Point<int>& origin, const RectangleList& initialClip);
LowLevelGraphicsSoftwareRenderer (const Image& imageToRenderOnto);
LowLevelGraphicsSoftwareRenderer (const Image& imageToRenderOnto, const Point<int>& origin,
const RectangleList& initialClip);
~LowLevelGraphicsSoftwareRenderer();
bool isVectorDevice() const;
@@ -76,8 +74,7 @@ public:
void drawImage (const Image&, const AffineTransform&);
void drawLine (const Line <float>& line);
void drawLine (const Line <float>&);
void drawVerticalLine (int x, float top, float bottom);
void drawHorizontalLine (int x, float top, float bottom);
@@ -86,12 +83,8 @@ public:
void drawGlyph (int glyphNumber, float x, float y);
void drawGlyph (int glyphNumber, const AffineTransform&);
#ifndef DOXYGEN
class SavedState;
#endif
protected:
RenderingHelpers::SavedStateStack<SavedState> savedState;
RenderingHelpers::SavedStateStack <RenderingHelpers::SoftwareRendererSavedState> savedState;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LowLevelGraphicsSoftwareRenderer);
};


+ 2069
- 54
modules/juce_graphics/native/juce_RenderingHelpers.h
File diff suppressed because it is too large
View File


Loading…
Cancel
Save