SlideShare a Scribd company logo
1 of 76
Download to read offline
Special F/X with Graphics View
                                 09/25/09
Ariya Hidayat
About Myself




   Open-source Developer




                   Ph.D in EE




                                2
Agenda

Four Dot Five
     – What you can do already
Four Dot Six
     – What you can (ab)use soon




                                   3
Goals


Provoke ideas!
Incite passion!
Engage creativity!




                     4
A Word of Caution
   With great power must come great responsibility.




                                                      5
Spread the Love

        All examples are available from...




             labs.qt.nokia.com
            bit.ly/graphicsdojo




                                             6
Qt 4.5


         7
Gradients
Transformation
Animation, Kinetic Scrolling
Composition Modes




                               8
Linear Gradient




                  9
Radial Gradient




                  10
Gradients: Quick Recipe

Applies to: QAbstractGraphicsShapeItem
  QGraphicsEllipseItem, QGraphicsPathItem,
  QGraphicsPolygonItem, QGraphicsRectItem
or your own subclass(es).

Classes to use:
   – QLinearGradient
   – QRadialGradient
   – QConicalGradient


                                             11
Linear Gradient: The Code

QPoint start(0, 0);
QPoint end(0, 20);

QLinearGradient g(start, end);
g.setColorAt(0, Qt::white);
g.setColorAt(1, Qt::black);

item->setBrush(g);




                                 12
Radial Gradient: The Code

QRadialGradient gr(100, 100, 100, 60, 60);
gr.setColorAt(0.0, QColor(255, 255, 255, 191));
gr.setColorAt(0.2, QColor(255, 255, 127, 191));
gr.setColorAt(0.9, QColor(150, 150, 200, 63));
p.setBrush(gr);
p.drawEllipse(0, 0, 200, 200);




                                                  13
Shadow with Gradients




                        magnifier




                                    14
Shadow: The Code
QRadialGradient g;
g.setCenter(radius, radius);
g.setFocalPoint(radius, radius);
g.setRadius(radius);
g.setColorAt(1.0, QColor(255, 255, 255, 0));
g.setColorAt(0.5, QColor(128, 128, 128, 255));

QPainter mask(&maskPixmap);
mask.setCompositionMode
  (QPainter::CompositionMode_Source);
mask.setBrush(g);
mask.drawRect(maskPixmap.rect());
mask.setBrush(QColor(Qt::transparent));
mask.drawEllipse(g.center(), radius-15, radius-15);
mask.end();




                                                      15
Translucent Reflection




                         16
Flip Vertically




             QImage::mirrored()



                                  17
More Natural Look




       Linear gradient, on the alpha channel



                                               18
Reflection: The Code
QPoint start(0, 0);
QPoint end(0, img.height());
QLinearGradient gradient(start, end);
gradient.setColorAt(0.5, Qt::black);
gradient.setColorAt(0, Qt::white);

QImage mask = img;
QPainter painter(&mask);
painter.fillRect(img.rect(), gradient);
painter.end();

QImage reflection = img.mirrored();
reflection.setAlphaChannel(mask);

                                          19
Opacity




          QPainter::setOpacity(...)



                                      20
Transformation



           Scaling   Rotation   Perspective




                                              21
Rotation

           transform.rotate(30, Qt::ZAxis)




                                             22
Perspective Transformation: The Recipe



transform.rotate
(60, Qt::XAxis)




                   transform.rotate(60, Qt::YAxis)


                                                     23
Reflection & Transformation




                              24
Timeline-based Animation




                              deacceleration




               acceleration

                                               25
Linear Motion vs Non-linear Motion


      Linear    EaseInOut
                                       deacceleration




                            acceleration

                                                    26
Flick List (or Kinetic Scrolling)




                                    27
Using FlickCharm

QGraphicsView canvas;

FlickCharm charm;
charm.activateOn(&canvas);




                             28
Flick Charm & Event Filtering

                                             Mouse move
 Mouse press            Pressed

                                             Manual Scroll
               Mouse release
  Steady                                 Mouse release

                    Mouse
                    move                      Auto Scroll
                               Mouse press
                    Stop
                                                  Timer tick


                                                               29
Parallax Effect




                  30
Composition Modes




                    31
Colorize (or Tint Effect)




                            32
Grayscale Conversion




int pixels = img.width() * img.height();
unsigned int *data = (unsigned int *)img.bits();
for (int i = 0; i < pixels; ++i) {
    int val = qGray(data[i]);
    data[i] = qRgb(val, val, val);
}


                                                   33
Overlay with Color




QPainter painter(&resultImage);
painter.drawImage(0, 0, grayscaled(image));
painter.setCompositionMode
  (QPainter::CompositionMode_Overlay);
painter.fillRect(resultImage.rect(), color);
painter.end();


                                               34
Glow Effect




              35
Night Mode




             36
Night Mode with Color Inversion

QPainter p(this);
p.setCompositionMode
  (QPainter::CompositionMode_Difference);
p.fillRect(event->rect(), Qt::white);
p.end();

               red = 255 – red
            green = 255 – green
              blue = 255 - blue




                                            37
A Friendly Advice: Fast Prototyping


  – avoid long edit-compile-debug cycle
  – use JavaScript, e.g. with Qt Script
  – use Python, e.g. with PyQt or PySide
  – use <insert your favorite dynamic language>




                                                  38
Qt 4.6


         39
Animation Framework
State Machine
Graphics Effects




                      40
Animation Framework




                      41
What People Want


 – (soft) drop shadow
 – blur
 – colorize
 – some other random stuff




                             42
Graphics F/X

  QGraphicsEffect

  QGraphicsColorizeEffect
  QGraphicsGrayscaleEffect
  QGraphicsPixelizeEffect
  QGraphicsBlurEffect
  QGraphicsDropShadowEffect
  QGraphicsOpacityEffect




                              43
Challenges


 – software vs hardware
 – good API




                          44
Software vs Hardware


  – software implementation
     • consistent and reliable
     • easy to test
     • cumbersome, (dog)slow
  – hardware acceleration
     • blazing fast
     • custom effects are easy
     • silicon/driver dependent



                                  45
API
      One API to rule them all, ...




                                      46
Simple API


  – Effect is a QObject
     • might have property, e.g. Color
     • property change emits a signal
     • can be animated easily
  – Effect applies to QGraphicsItem & QWidget
  – Custom effect? Subclass QGraphicsEffect




                                                47
As Simple As...

QGraphicsGrayscaleEffect *effect;
effect = new QGraphicsGrayscaleEffect;
item->setGraphicsEffect(effect);




           Effect is applied to the item
                 and its children!




                                           48
Grayscale Effect




                   49
Grayscale Effect with Strength=0.8




                                     50
Colorize Effect




                  51
Colorize Effect with Strength=0.8




                                    52
Pixelize Effect




                  53
Blur Effect




              54
Drop Shadow Effect




                     55
Lighting Example




                   56
Blur Picker Example



                      blurry




             sharp


                               57
Fade Message Example




          Something will happen
                                  58
Scale Effect




               59
Scale Effect Implementation
void draw(QPainter *painter,
          QGraphicsEffectSource *source) {

    QPixmap pixmap;
    pixmap = source->pixmap(Qt::DeviceCoordinates);

    painter->save();
    painter->setBrush(Qt::NoBrush);
    painter->setPen(Qt::red);
    painter->drawRect(pixmap.rect());

    painter->scale(0.5, 0.5);
    painter->translate(pixmap.rect().bottomRight()/2);
    painter->drawPixmap(0, 0, pixmap);

    painter->restore();
}


                                                         60
Night Mode Effect




                    61
Night Mode Effect Implementation

void draw(QPainter *painter,
          QGraphicsEffectSource *source) {

    QPixmap pixmap;
    pixmap = source->pixmap(Qt::DeviceCoordinates);

    QPainter p(&pixmap);
    p.setCompositionMode
      (QPainter::CompositionMode_Difference);
    p.fillRect(pixmap.rect(), Qt::white);
    p.end();
    painter->drawPixmap(0, 0, pixmap);
}




                                                      62
Frame Effect




               63
Extending the Bounding Box

QRectF boundingRectFor(const QRectF &rect) const {
  return rect.adjusted(-5, -5, 5, 5);
}




         item bounding box



    “effective” bounding box




                                                     64
Frame Effect Implementation

void draw(QPainter *painter,
          QGraphicsEffectSource *source) {

    QPixmap pixmap;
    pixmap = source->pixmap(Qt::DeviceCoordinates);
    QRectF bound = boundingRectFor(pixmap.rect());

    painter->save();
    painter->setPen(Qt::NoPen);
    painter->setBrush(Qt::green);
    painter->drawRoundedRect(bound, 15, 15);
    painter->drawPixmap(0, 0, pixmap);
    painter->restore();
}




                                                      65
Reflection Effect




                    66
Enlarging the Bounding Box (Again)

QRectF boundingRectFor(const QRectF &rect) const {
  return rect.adjusted(0, 0, 0, rect.height());
}




             item bounding box




       “effective” bounding box




                                                     67
Reflection Effect Implementation

void draw(QPainter *painter,
          QGraphicsEffectSource *source) {

    QPixmap pixmap;
    pixmap = source->pixmap(Qt::DeviceCoordinates);

    painter->save();
    painter->drawPixmap(0, 0, pixmap);
    painter->setOpacity(0.2);
    painter->scale(1, -1);
    painter->translate(0, -pixmap.height());
    painter->drawPixmap(0, 0, pixmap);
    painter->restore();
}




                                                      68
Qt 4.7?
Future?
          69
Declarative UI




                 70
Further Directions


  – Optimization!
  – Composite effects
  – Geometry deformation
  – Morphing
  – More physics: force, gravity, ...
  – Bitmap vs vector




                                        71
Genie Effect




               72
Deformation




              73
Underwater Effect




                    74
That's all, folks...




        Thank You!


                       75
Bleeding-Edge




           labs.qt.nokia.com
           bit.ly/graphicsdojo




                                 76

More Related Content

What's hot

Introduction to Bitcoin and ECDSA
Introduction to Bitcoin and ECDSAIntroduction to Bitcoin and ECDSA
Introduction to Bitcoin and ECDSA
Nikesh Mistry
 

What's hot (9)

Introduction to Bitcoin and ECDSA
Introduction to Bitcoin and ECDSAIntroduction to Bitcoin and ECDSA
Introduction to Bitcoin and ECDSA
 
Chapter 8 getting started with python
Chapter 8 getting started with pythonChapter 8 getting started with python
Chapter 8 getting started with python
 
présentation sur le vpn
présentation sur le vpn présentation sur le vpn
présentation sur le vpn
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
 
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdfRapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
Rapport_Memoire_Mastère_SRT_LARAFA_Mohamed_Akram.pdf
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
 
Python
PythonPython
Python
 
Inkscapeで折り図を描く〜1つの図を描く〜
Inkscapeで折り図を描く〜1つの図を描く〜Inkscapeで折り図を描く〜1つの図を描く〜
Inkscapeで折り図を描く〜1つの図を描く〜
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
 

Viewers also liked

Efficient Graphics with Qt
Efficient Graphics with QtEfficient Graphics with Qt
Efficient Graphics with Qt
Ariya Hidayat
 
Counselors training on VFX pro
Counselors training on VFX pro Counselors training on VFX pro
Counselors training on VFX pro
Sagar Kapoor
 
Using Graphics and Visual Media in Instruction
Using Graphics and Visual Media in InstructionUsing Graphics and Visual Media in Instruction
Using Graphics and Visual Media in Instruction
CARLOS MARTINEZ
 
Midnight ride paul revere spelling lesson
Midnight ride paul revere spelling lessonMidnight ride paul revere spelling lesson
Midnight ride paul revere spelling lesson
angiearriolac
 
Special effects f tv vocab lesson
Special effects f tv vocab lessonSpecial effects f tv vocab lesson
Special effects f tv vocab lesson
angiearriolac
 

Viewers also liked (19)

Efficient Graphics with Qt
Efficient Graphics with QtEfficient Graphics with Qt
Efficient Graphics with Qt
 
Qt Animation
Qt AnimationQt Animation
Qt Animation
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization SoftwareCase Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Native
 
Optimizing Performance in Qt-Based Applications
Optimizing Performance in Qt-Based ApplicationsOptimizing Performance in Qt-Based Applications
Optimizing Performance in Qt-Based Applications
 
Vfx PPT
Vfx PPTVfx PPT
Vfx PPT
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics
 
Qt Programming on TI Processors
Qt Programming on TI ProcessorsQt Programming on TI Processors
Qt Programming on TI Processors
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt Communication
 
#3 sp effects
#3 sp effects#3 sp effects
#3 sp effects
 
Counselors training on VFX pro
Counselors training on VFX pro Counselors training on VFX pro
Counselors training on VFX pro
 
Using Graphics and Visual Media in Instruction
Using Graphics and Visual Media in InstructionUsing Graphics and Visual Media in Instruction
Using Graphics and Visual Media in Instruction
 
Special effects vocabulary
Special effects vocabularySpecial effects vocabulary
Special effects vocabulary
 
Graphic organizers
Graphic organizersGraphic organizers
Graphic organizers
 
Special effects
Special effectsSpecial effects
Special effects
 
Intro to Exam
Intro to ExamIntro to Exam
Intro to Exam
 
Midnight ride paul revere spelling lesson
Midnight ride paul revere spelling lessonMidnight ride paul revere spelling lesson
Midnight ride paul revere spelling lesson
 
Special effects f tv vocab lesson
Special effects f tv vocab lessonSpecial effects f tv vocab lesson
Special effects f tv vocab lesson
 

Similar to Special Effects with Qt Graphics View

Graphicsand animations devoxx2010 (1)
Graphicsand animations devoxx2010 (1)Graphicsand animations devoxx2010 (1)
Graphicsand animations devoxx2010 (1)
Marakana Inc.
 
Qt quickatlinuxcollaborationsummit2010
Qt quickatlinuxcollaborationsummit2010Qt quickatlinuxcollaborationsummit2010
Qt quickatlinuxcollaborationsummit2010
hhartz
 

Similar to Special Effects with Qt Graphics View (20)

Copy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with QtCopy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with Qt
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIs
 
Graphicsand animations devoxx2010 (1)
Graphicsand animations devoxx2010 (1)Graphicsand animations devoxx2010 (1)
Graphicsand animations devoxx2010 (1)
 
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
 
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
 
Genome Browser based on Google Maps API
Genome Browser based on Google Maps APIGenome Browser based on Google Maps API
Genome Browser based on Google Maps API
 
Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1Petri Niemi Qt Advanced Part 1
Petri Niemi Qt Advanced Part 1
 
Qt quickatlinuxcollaborationsummit2010
Qt quickatlinuxcollaborationsummit2010Qt quickatlinuxcollaborationsummit2010
Qt quickatlinuxcollaborationsummit2010
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
iOS OpenGL
iOS OpenGLiOS OpenGL
iOS OpenGL
 
Creating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdfCreating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdf
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES renderer
 
Gradient Descent. How NN learns
Gradient Descent. How NN learnsGradient Descent. How NN learns
Gradient Descent. How NN learns
 
NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016
 
Drawing with Quartz on iOS
Drawing with Quartz on iOSDrawing with Quartz on iOS
Drawing with Quartz on iOS
 
SwiftUI Animation - The basic overview
SwiftUI Animation - The basic overviewSwiftUI Animation - The basic overview
SwiftUI Animation - The basic overview
 
numdoc
numdocnumdoc
numdoc
 
Android based application for graph analysis final report
Android based application for graph analysis final reportAndroid based application for graph analysis final report
Android based application for graph analysis final report
 
Enhancing UI/UX using Java animations
Enhancing UI/UX using Java animationsEnhancing UI/UX using Java animations
Enhancing UI/UX using Java animations
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qt
 

More from account inactive

More from account inactive (20)

Meet Qt
Meet QtMeet Qt
Meet Qt
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Application
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integration
 
Qt Kwan-Do
Qt Kwan-DoQt Kwan-Do
Qt Kwan-Do
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systems
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CE
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 
Qt Widget In-Depth
Qt Widget In-DepthQt Widget In-Depth
Qt Widget In-Depth
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Framework
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbian
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 
The Mobility Project
The Mobility ProjectThe Mobility Project
The Mobility Project
 
The Next Generation Qt Item Views
The Next Generation Qt Item ViewsThe Next Generation Qt Item Views
The Next Generation Qt Item Views
 
Qt Licensing Explained
Qt Licensing ExplainedQt Licensing Explained
Qt Licensing Explained
 
Case Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded ProcessorsCase Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded Processors
 
OGRE: Qt & OGRE for Multimedia Creation
OGRE: Qt & OGRE for Multimedia CreationOGRE: Qt & OGRE for Multimedia Creation
OGRE: Qt & OGRE for Multimedia Creation
 
HGZ Kaffeemaschinen & Qt Speak Coffee
HGZ Kaffeemaschinen & Qt Speak CoffeeHGZ Kaffeemaschinen & Qt Speak Coffee
HGZ Kaffeemaschinen & Qt Speak Coffee
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Special Effects with Qt Graphics View