# Custom Painting (Flutter) > CustomPaint, Canvas API, CustomPainter, drawing operations, performance, clipping - 22 interview questions - Senior - [Interview Questions: Flutter](https://sharpskill.dev/en/technologies/flutter/interview-questions.md) ## 1. Which widget should be used to draw custom graphics in Flutter? **Answer** CustomPaint is the dedicated widget for custom drawing in Flutter. It takes a CustomPainter as a parameter containing the drawing logic via the paint() method. This widget creates a canvas where shapes, text, and images can be drawn with full control over every pixel. ## 2. What are the two mandatory methods to implement in a CustomPainter? **Answer** A CustomPainter must implement paint() to define what is drawn on the Canvas, and shouldRepaint() to indicate whether the widget should be redrawn when the painter changes. shouldRepaint() returns a boolean and receives the old painter as a parameter to compare states. ## 3. What is the role of the Paint object in Flutter custom drawing? **Answer** The Paint object defines the drawing style: color, stroke width, fill style (fill or stroke), line join type, shader effects, and filters. It acts as a configurable brush that determines the appearance of everything drawn on the Canvas. ## 19 more questions available - What is the difference between PaintingStyle.fill and PaintingStyle.stroke? - How to draw a circle on a Flutter Canvas? Sign up for free: https://sharpskill.dev/en/login ## Other Flutter interview topics - [Dart Basics](https://sharpskill.dev/en/technologies/flutter/interview-questions/dart-basics.md): 25 questions, Junior - [Dart Language Essentials](https://sharpskill.dev/en/technologies/flutter/interview-questions/dart-language-essentials.md): 15 questions, Junior - [Flutter Fundamentals](https://sharpskill.dev/en/technologies/flutter/interview-questions/flutter-fundamentals.md): 18 questions, Junior - [Widget Lifecycle](https://sharpskill.dev/en/technologies/flutter/interview-questions/widget-lifecycle.md): 20 questions, Junior - [Local Storage](https://sharpskill.dev/en/technologies/flutter/interview-questions/local-storage.md): 20 questions, Junior - [Application Lifecycle](https://sharpskill.dev/en/technologies/flutter/interview-questions/app-lifecycle.md): 20 questions, Junior - [Layouts & Constraints](https://sharpskill.dev/en/technologies/flutter/interview-questions/layouts-constraints.md): 24 questions, Mid-Level - [ListView & GridView](https://sharpskill.dev/en/technologies/flutter/interview-questions/listview-gridview.md): 25 questions, Mid-Level - [Navigation & Routing](https://sharpskill.dev/en/technologies/flutter/interview-questions/navigation-routing.md): 22 questions, Mid-Level - [Basic State Management](https://sharpskill.dev/en/technologies/flutter/interview-questions/state-management-basics.md): 22 questions, Mid-Level - [Provider Pattern](https://sharpskill.dev/en/technologies/flutter/interview-questions/provider-pattern.md): 18 questions, Mid-Level - [Networking & HTTP](https://sharpskill.dev/en/technologies/flutter/interview-questions/networking-http.md): 20 questions, Mid-Level - [JSON Serialization](https://sharpskill.dev/en/technologies/flutter/interview-questions/json-serialization.md): 20 questions, Mid-Level - [Local Database](https://sharpskill.dev/en/technologies/flutter/interview-questions/local-database.md): 22 questions, Mid-Level - [Forms & Validation](https://sharpskill.dev/en/technologies/flutter/interview-questions/forms-validation.md): 20 questions, Mid-Level - [Animations](https://sharpskill.dev/en/technologies/flutter/interview-questions/animations.md): 20 questions, Mid-Level - [Firebase Integration](https://sharpskill.dev/en/technologies/flutter/interview-questions/firebase-integration.md): 18 questions, Mid-Level - [Unit Testing](https://sharpskill.dev/en/technologies/flutter/interview-questions/unit-testing.md): 20 questions, Mid-Level - [Widget Testing](https://sharpskill.dev/en/technologies/flutter/interview-questions/widget-testing.md): 18 questions, Mid-Level - [Build & Deployment](https://sharpskill.dev/en/technologies/flutter/interview-questions/build-deployment.md): 16 questions, Mid-Level - [Package Management](https://sharpskill.dev/en/technologies/flutter/interview-questions/package-management.md): 16 questions, Mid-Level - [Memory & Performance](https://sharpskill.dev/en/technologies/flutter/interview-questions/memory-performance.md): 22 questions, Senior - [Streams & RxDart](https://sharpskill.dev/en/technologies/flutter/interview-questions/streams-rxdart.md): 24 questions, Senior - [Advanced State Management](https://sharpskill.dev/en/technologies/flutter/interview-questions/advanced-state-management.md): 26 questions, Senior - [Flutter Design Patterns](https://sharpskill.dev/en/technologies/flutter/interview-questions/flutter-design-patterns.md): 24 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/flutter/interview-questions/performance-optimization.md): 26 questions, Senior - [Platform Channels](https://sharpskill.dev/en/technologies/flutter/interview-questions/platform-channels.md): 20 questions, Senior - [Flutter Application Architecture](https://sharpskill.dev/en/technologies/flutter/interview-questions/flutter-app-architecture.md): 22 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/flutter/interview-questions/custom-painting