You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
						
							 | 
							- #pragma once
 - #include <widget/Widget.hpp>
 - 
 - 
 - namespace rack {
 - namespace widget {
 - 
 - 
 - /** Caches a widget's draw() result to a framebuffer so it is called less frequently.
 - When `dirty` is true, its children will be re-rendered on the next call to step().
 - Events are not passed to the underlying scene.
 - */
 - struct FramebufferWidget : Widget {
 - 	/** Set this to true to re-render the children to the framebuffer the next time it is drawn */
 - 	bool dirty = true;
 - 	bool bypass = false;
 - 	float oversample = 1.0;
 - 	NVGLUframebuffer *fb = NULL;
 - 	/** Scale relative to the world */
 - 	math::Vec scale;
 - 	/** Offset in world coordinates */
 - 	math::Vec offset;
 - 	/** Pixel dimensions of the allocated framebuffer */
 - 	math::Vec fbSize;
 - 	/** Bounding box in world coordinates of where the framebuffer should be painted.
 - 	Always has integer coordinates so that blitting framebuffers is pixel-perfect.
 - 	*/
 - 	math::Rect fbBox;
 - 	/** Framebuffer's scale relative to the world */
 - 	math::Vec fbScale;
 - 	/** Framebuffer's subpixel offset relative to fbBox in world coordinates */
 - 	math::Vec fbOffset;
 - 
 - 	FramebufferWidget();
 - 	~FramebufferWidget();
 - 	void step() override;
 - 	void draw(const DrawArgs &args) override;
 - 	virtual void drawFramebuffer();
 - 	int getImageHandle();
 - };
 - 
 - 
 - } // namespace widget
 - } // namespace rack
 
 
  |