Discover Packages
github.com/gogpu/gg
examples
clipping
command
Version:
v0.11.0
Opens a new window with list of versions in this module.
Published: Dec 24, 2025
License: MIT
Opens a new window with license information.
Imports: 3
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
Clipping Example
This example demonstrates the clipping API in gogpu/gg.
Features Demonstrated
Circular Clip - Using Clip() to set a circular clipping region
ClipRect - Fast rectangular clipping with ClipRect()
ClipPreserve - Using ClipPreserve() to clip and then stroke the same path
Nested Clips - Multiple intersecting clips with Push()/Pop()
Complex Path - Clipping with curved Bezier paths
API Methods
Clip() - Set current path as clip region, clear path
ClipPreserve() - Set current path as clip region, keep path
ClipRect(x, y, w, h) - Fast rectangular clip
ResetClip() - Remove all clipping regions
Push()/Pop() - Save/restore clip state
Running
go run main.go
This will generate output.png showing all clipping examples.
Integration with Push/Pop
Clipping state is saved and restored with Push()/Pop():
dc.Push()
dc.ClipRect(10, 10, 100, 100)
// Drawing is clipped
dc.Pop() // Clip is restored
ClipRect() is faster than creating a rectangular path and calling Clip()
Anti-aliased clipping is enabled by default for smooth edges
Multiple clips are intersected (AND operation)
Expand ▾
Collapse ▴
Documentation
¶
Package main demonstrates the clipping API in gogpu/gg.
This example shows how to use Clip(), ClipPreserve(), ClipRect(), and ResetClip()
to create various clipping effects.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.