SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Graphics and Visualization
Yuriy Tymchuk
(almost) Alain Plantec
Guillaume Larcheveque
What are Athens?
aCanvas createPath: [:builder |
builder
absolute;
moveTo: 70@100;
lineTo: 330@100;
cwArcTo: 350@120
angle: 90 degreesToRadians;
lineTo: 350@280;
cwArcTo: 330@300
angle: 90 degreesToRadians;
lineTo: 70@300;
cwArcTo: 50@280
angle: 90 degreesToRadians;
lineTo: 50@120;
cwArcTo: 70@100
angle: 90 degreesToRadians
p := aCanvas createPath:[ :b | b
moveTo: 0.3@0.3 ;
lineTo: 0.4@0;
curveVia: 0.1@0 to: 0.1@0.1;
lineTo: 0@0.2;
curveVia: 0@0.1 to: -0.1@0.1;
lineTo: -0.4@0;
curveVia: -0.1@0 to: (0.1@0.1) negated;
lineTo: 0@0.2 negated ;
curveVia: 0@0.1 negated to: 0.1@0.1 negated ].
aCanvas
setPaint: self coloredCarColor;
drawShape: p.
stroke := aCanvas setStrokePaint: self wheelColor.
stroke width: 0.01.
aCanvas draw.
wheel := aCanvas createPath:[ :b | b
moveTo: 0.3@0.3;
cwArcTo: 0.15@0 angle: Float halfPi;
moveTo: 0.1@0;
cwArcTo: 0.15@0 angle: Float halfPi;
moveTo: 0.0@0.4;
cwArcTo: 0.15 negated@0 angle: Float halfPi;
moveTo: -0.1@0;
cwArcTo: 0.15 negated@0 angle: Float halfPi ].
aCanvas
setPaint: self wheelColor;
drawShape: wheel.
decorator := aCanvas createPath:[ :b | b
moveTo: 0.2@0.45;
lineTo: 0.225@0 ;
cwArcTo: 0.15@0 angle: Float halfPi;
lineTo: 0.225@0;
lineTo: 0@0.1 ;
lineTo: -0.225@ 0;
cwArcTo: -0.15@0 angle: Float halfPi;
lineTo: -0.225@ 0 ;
lineTo: 0@0.1 negated].
stroke := aCanvas setStrokePaint: self chasisDecoratorColor.
stroke width: 0.01.
aCanvas drawShape: decorator.
aCanvas setPaint: self chasisLineColor.
aCanvas draw.
http://agilevisualization.com
Athens
Trachel
Roassal
Amber
stuff?
Trachel
Roassal
Nicolas Lusa
Michele Lanza
Nicolas Lusa
Michele Lanza
Arc de Triomphe
Champs-Élysées
ViDI
http://vidi.inf.usi.ch
Bloc
A new 2D graphics framework for Pharo
Bloc
• a new Morph hierarchy
• a new event framework
• new layout strategies
• a new Halo framework
• new World management
• new widgets
Bloc = new Morphic implementation
+ OSWindows + Athens + TxtText
New Morph hierarchy
BlView for the rendering
BlMorph for events management
Less Morph subclasses
A Morph is associated with a View
A View can be a composite
New layout strategies
Anchors, Box, Border, Stack
An more to come:
We are ready to build new widgets
Stay tuned!
Telescope

Weitere ähnliche Inhalte

Mehr von Yuriy Tymchuk

JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)Yuriy Tymchuk
 
Pharo Quality Engine: The Last Strokes (esug2017)
Pharo Quality Engine: The Last Strokes (esug2017)Pharo Quality Engine: The Last Strokes (esug2017)
Pharo Quality Engine: The Last Strokes (esug2017)Yuriy Tymchuk
 
The False False Positives of Static Analysis (sattose2017)
The False False Positives of Static Analysis (sattose2017)The False False Positives of Static Analysis (sattose2017)
The False False Positives of Static Analysis (sattose2017)Yuriy Tymchuk
 
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)Yuriy Tymchuk
 
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...Yuriy Tymchuk
 
Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Yuriy Tymchuk
 
Про що не говорять програмісти, про що мовчать науковці (UCU2015)
Про що не говорять програмісти, про що мовчать науковці (UCU2015)Про що не говорять програмісти, про що мовчать науковці (UCU2015)
Про що не говорять програмісти, про що мовчать науковці (UCU2015)Yuriy Tymchuk
 
What if Clippy Would Criticize Your Code? (benevol2015)
What if Clippy Would Criticize Your Code? (benevol2015)What if Clippy Would Criticize Your Code? (benevol2015)
What if Clippy Would Criticize Your Code? (benevol2015)Yuriy Tymchuk
 
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]Yuriy Tymchuk
 
Beyond the Concept of Quality in Pharo (esug2015)
Beyond the Concept of Quality in Pharo (esug2015)Beyond the Concept of Quality in Pharo (esug2015)
Beyond the Concept of Quality in Pharo (esug2015)Yuriy Tymchuk
 
Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Yuriy Tymchuk
 
ViDI - The Visual Design Inspector (fosdem2015)
ViDI - The Visual Design Inspector (fosdem2015)ViDI - The Visual Design Inspector (fosdem2015)
ViDI - The Visual Design Inspector (fosdem2015)Yuriy Tymchuk
 
Collaboration in Open-Source Projects: Myth or Reality? (msr14)
Collaboration in Open-Source Projects: Myth or Reality? (msr14)Collaboration in Open-Source Projects: Myth or Reality? (msr14)
Collaboration in Open-Source Projects: Myth or Reality? (msr14)Yuriy Tymchuk
 
FAST Master's Defense (UA)
FAST Master's Defense (UA)FAST Master's Defense (UA)
FAST Master's Defense (UA)Yuriy Tymchuk
 
Signs of Caries at SmalltalkHub (mooseday13/2)
Signs of Caries at SmalltalkHub (mooseday13/2)Signs of Caries at SmalltalkHub (mooseday13/2)
Signs of Caries at SmalltalkHub (mooseday13/2)Yuriy Tymchuk
 
FAST Resolution (benevol13)
FAST Resolution (benevol13)FAST Resolution (benevol13)
FAST Resolution (benevol13)Yuriy Tymchuk
 
Modeling ASTs with FAST (mooseday13)
Modeling ASTs with FAST (mooseday13)Modeling ASTs with FAST (mooseday13)
Modeling ASTs with FAST (mooseday13)Yuriy Tymchuk
 

Mehr von Yuriy Tymchuk (17)

JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
JIT Feedback — what Experienced Developers like about Static Analysis (icpc2018)
 
Pharo Quality Engine: The Last Strokes (esug2017)
Pharo Quality Engine: The Last Strokes (esug2017)Pharo Quality Engine: The Last Strokes (esug2017)
Pharo Quality Engine: The Last Strokes (esug2017)
 
The False False Positives of Static Analysis (sattose2017)
The False False Positives of Static Analysis (sattose2017)The False False Positives of Static Analysis (sattose2017)
The False False Positives of Static Analysis (sattose2017)
 
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)
 
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...
When QualityAssistant Meets Pharo [Enforced Code Critiques Motivate More Valu...
 
Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)
 
Про що не говорять програмісти, про що мовчать науковці (UCU2015)
Про що не говорять програмісти, про що мовчать науковці (UCU2015)Про що не говорять програмісти, про що мовчать науковці (UCU2015)
Про що не говорять програмісти, про що мовчать науковці (UCU2015)
 
What if Clippy Would Criticize Your Code? (benevol2015)
What if Clippy Would Criticize Your Code? (benevol2015)What if Clippy Would Criticize Your Code? (benevol2015)
What if Clippy Would Criticize Your Code? (benevol2015)
 
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]
 
Beyond the Concept of Quality in Pharo (esug2015)
Beyond the Concept of Quality in Pharo (esug2015)Beyond the Concept of Quality in Pharo (esug2015)
Beyond the Concept of Quality in Pharo (esug2015)
 
Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)Code Review: Veni, ViDI, Vici (saner15)
Code Review: Veni, ViDI, Vici (saner15)
 
ViDI - The Visual Design Inspector (fosdem2015)
ViDI - The Visual Design Inspector (fosdem2015)ViDI - The Visual Design Inspector (fosdem2015)
ViDI - The Visual Design Inspector (fosdem2015)
 
Collaboration in Open-Source Projects: Myth or Reality? (msr14)
Collaboration in Open-Source Projects: Myth or Reality? (msr14)Collaboration in Open-Source Projects: Myth or Reality? (msr14)
Collaboration in Open-Source Projects: Myth or Reality? (msr14)
 
FAST Master's Defense (UA)
FAST Master's Defense (UA)FAST Master's Defense (UA)
FAST Master's Defense (UA)
 
Signs of Caries at SmalltalkHub (mooseday13/2)
Signs of Caries at SmalltalkHub (mooseday13/2)Signs of Caries at SmalltalkHub (mooseday13/2)
Signs of Caries at SmalltalkHub (mooseday13/2)
 
FAST Resolution (benevol13)
FAST Resolution (benevol13)FAST Resolution (benevol13)
FAST Resolution (benevol13)
 
Modeling ASTs with FAST (mooseday13)
Modeling ASTs with FAST (mooseday13)Modeling ASTs with FAST (mooseday13)
Modeling ASTs with FAST (mooseday13)
 

Kürzlich hochgeladen

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 

Kürzlich hochgeladen (20)

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Graphics and Visualization (Pharo Days 2015)

  • 1. Graphics and Visualization Yuriy Tymchuk (almost) Alain Plantec Guillaume Larcheveque
  • 3.
  • 4.
  • 5.
  • 6. aCanvas createPath: [:builder | builder absolute; moveTo: 70@100; lineTo: 330@100; cwArcTo: 350@120 angle: 90 degreesToRadians; lineTo: 350@280; cwArcTo: 330@300 angle: 90 degreesToRadians; lineTo: 70@300; cwArcTo: 50@280 angle: 90 degreesToRadians; lineTo: 50@120; cwArcTo: 70@100 angle: 90 degreesToRadians
  • 7. p := aCanvas createPath:[ :b | b moveTo: 0.3@0.3 ; lineTo: 0.4@0; curveVia: 0.1@0 to: 0.1@0.1; lineTo: 0@0.2; curveVia: 0@0.1 to: -0.1@0.1; lineTo: -0.4@0; curveVia: -0.1@0 to: (0.1@0.1) negated; lineTo: 0@0.2 negated ; curveVia: 0@0.1 negated to: 0.1@0.1 negated ]. aCanvas setPaint: self coloredCarColor; drawShape: p. stroke := aCanvas setStrokePaint: self wheelColor. stroke width: 0.01. aCanvas draw. wheel := aCanvas createPath:[ :b | b moveTo: 0.3@0.3; cwArcTo: 0.15@0 angle: Float halfPi; moveTo: 0.1@0; cwArcTo: 0.15@0 angle: Float halfPi; moveTo: 0.0@0.4; cwArcTo: 0.15 negated@0 angle: Float halfPi; moveTo: -0.1@0; cwArcTo: 0.15 negated@0 angle: Float halfPi ]. aCanvas setPaint: self wheelColor; drawShape: wheel. decorator := aCanvas createPath:[ :b | b moveTo: 0.2@0.45; lineTo: 0.225@0 ; cwArcTo: 0.15@0 angle: Float halfPi; lineTo: 0.225@0; lineTo: 0@0.1 ; lineTo: -0.225@ 0; cwArcTo: -0.15@0 angle: Float halfPi; lineTo: -0.225@ 0 ; lineTo: 0@0.1 negated]. stroke := aCanvas setStrokePaint: self chasisDecoratorColor. stroke width: 0.01. aCanvas drawShape: decorator. aCanvas setPaint: self chasisLineColor. aCanvas draw.
  • 8.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 19. Nicolas Lusa Michele Lanza Arc de Triomphe Champs-Élysées
  • 21. Bloc A new 2D graphics framework for Pharo
  • 22. Bloc • a new Morph hierarchy • a new event framework • new layout strategies • a new Halo framework • new World management • new widgets Bloc = new Morphic implementation + OSWindows + Athens + TxtText
  • 23. New Morph hierarchy BlView for the rendering BlMorph for events management
  • 24. Less Morph subclasses A Morph is associated with a View A View can be a composite
  • 25. New layout strategies Anchors, Box, Border, Stack
  • 26. An more to come: We are ready to build new widgets Stay tuned!