                 
                 var _pattern = Pattern(bound: pattern.bound, xStep: pattern.xStep, yStep: pattern.yStep) { pattern.callback(PDFRenderer(context: $0, alphaMask: false)) }
                 
-                _pattern.transform = SDTransform.reflectY(pattern.bound.midY) * pattern.transform * base_transform * context.transform.inverse
+                _pattern.transform = pattern.transform * base_transform * context.transform.inverse
                 
                 var _stroke = Stroke(width: state.strokeWidth, cap: cap, join: join, color: _pattern)
                 _stroke.color.opacity = state.strokeOpacity

                        pattern.callback(renderer)
                    }
                    
                    _pattern.transform = SDTransform.reflectY(pattern.bound.midY) * pattern.transform * base_transform * context.transform.inverse
                    
                    context.draw(shape: state.path, winding: winding, color: _pattern)
                }

                    
                    var _stroke_pattern = Pattern(bound: strokePattern.bound, xStep: strokePattern.xStep, yStep: strokePattern.yStep) { strokePattern.callback(PDFRenderer(context: $0, alphaMask: false)) }
                    
                    _stroke_pattern.transform = strokePattern.transform * base_transform * context.transform.inverse
                    
                    var _stroke = Stroke(width: state.strokeWidth, cap: cap, join: join, color: _stroke_pattern)
                    _stroke.color.opacity = state.strokeOpacity
