graphics and visualization (pharo days 2015)

27
Graphics and Visualization Yuriy Tymchuk (almost) Alain Plantec Guillaume Larcheveque

Upload: yuriy-tymchuk

Post on 18-Jul-2015

170 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Graphics and Visualization (Pharo Days 2015)

Graphics and Visualization

Yuriy Tymchuk (almost) Alain Plantec

Guillaume Larcheveque

Page 2: Graphics and Visualization (Pharo Days 2015)

What are Athens?

Page 3: Graphics and Visualization (Pharo Days 2015)
Page 4: Graphics and Visualization (Pharo Days 2015)
Page 5: Graphics and Visualization (Pharo Days 2015)
Page 6: Graphics and Visualization (Pharo Days 2015)

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

Page 7: Graphics and Visualization (Pharo Days 2015)

p := aCanvas createPath:[ :b | b moveTo: [email protected] ; lineTo: 0.4@0; curveVia: 0.1@0 to: [email protected]; lineTo: [email protected]; curveVia: [email protected] to: [email protected]; lineTo: -0.4@0; curveVia: -0.1@0 to: ([email protected]) negated; lineTo: [email protected] negated ; curveVia: [email protected] negated to: [email protected] negated ]. aCanvas setPaint: self coloredCarColor; drawShape: p. stroke := aCanvas setStrokePaint: self wheelColor. stroke width: 0.01. aCanvas draw. wheel := aCanvas createPath:[ :b | b moveTo: [email protected]; cwArcTo: 0.15@0 angle: Float halfPi; moveTo: 0.1@0; cwArcTo: 0.15@0 angle: Float halfPi; moveTo: [email protected]; 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: [email protected]; lineTo: 0.225@0 ; cwArcTo: 0.15@0 angle: Float halfPi; lineTo: 0.225@0; lineTo: [email protected] ; lineTo: -0.225@ 0; cwArcTo: -0.15@0 angle: Float halfPi; lineTo: -0.225@ 0 ; lineTo: [email protected] negated].

stroke := aCanvas setStrokePaint: self chasisDecoratorColor. stroke width: 0.01. aCanvas drawShape: decorator. aCanvas setPaint: self chasisLineColor. aCanvas draw.

Page 8: Graphics and Visualization (Pharo Days 2015)
Page 9: Graphics and Visualization (Pharo Days 2015)

http://agilevisualization.com

Page 10: Graphics and Visualization (Pharo Days 2015)

Athens

Trachel

Roassal

Amber stuff?

Page 11: Graphics and Visualization (Pharo Days 2015)

Trachel

Page 12: Graphics and Visualization (Pharo Days 2015)

Roassal

Page 13: Graphics and Visualization (Pharo Days 2015)
Page 14: Graphics and Visualization (Pharo Days 2015)
Page 15: Graphics and Visualization (Pharo Days 2015)
Page 16: Graphics and Visualization (Pharo Days 2015)
Page 17: Graphics and Visualization (Pharo Days 2015)
Page 18: Graphics and Visualization (Pharo Days 2015)

Nicolas Lusa Michele Lanza

Page 19: Graphics and Visualization (Pharo Days 2015)

Nicolas Lusa Michele Lanza

Arc de Triomphe

Champs-Élysées

Page 20: Graphics and Visualization (Pharo Days 2015)

ViDI

http://vidi.inf.usi.ch

Page 21: Graphics and Visualization (Pharo Days 2015)

BlocA new 2D graphics framework for Pharo

Page 22: Graphics and Visualization (Pharo Days 2015)

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

Page 23: Graphics and Visualization (Pharo Days 2015)

New Morph hierarchyBlView for the rendering

BlMorph for events management

Page 24: Graphics and Visualization (Pharo Days 2015)

Less Morph subclassesA Morph is associated with a View

A View can be a composite

Page 25: Graphics and Visualization (Pharo Days 2015)

New layout strategiesAnchors, Box, Border, Stack

Page 26: Graphics and Visualization (Pharo Days 2015)

An more to come: We are ready to build new widgets

Stay tuned!

Page 27: Graphics and Visualization (Pharo Days 2015)

Telescope