ROOT: Native Graphics on Mac OS X

Total Page:16

File Type:pdf, Size:1020Kb

ROOT: Native Graphics on Mac OS X ROOT: native graphics on Mac OS X T. Pocheptsov 1) 1) CERN, PH-SFT – European Organization for Nuclear Research, Geneva, Switzerland; JINR – Joint Institute for Nuclear Research, Dubna, Russian Federation. The ROOT’s GUI classes support an extensive and rich set of widgets. These widget classes interface to the underlying graphics system and OS via abstract classes - TVirtualX and TSystem. Concrete versions were implemented for X11/*nix, Win32, Qt and now Mac OS X: ROOT GUI applications (browsers, canvases, treeplayers, event displays) and user GUI applications. ROOT GUI framework (windows/widgets/controls classes) Abstraction layer: TSystem , TVirtualX TMacOSXSystem: event handling/dispatch (mouse/ TGCocoa/TGQuartz : 2D/3D graphics (“graphical keyboard/geometry change/repaint events, I/O activity, back-end”), window management, font management, etc.) cursors, drag and drop, etc. New graphical back-end for Mac OS X: Components (implementation): • Window manager uses Apple’s Cocoa • Is a complete implementation of TVirtualX interface; framework (object oriented framework written • uses native APIs directly, no external X11-server application in Obj-C) and Apple’s Quartz Window (XQuartz) required; Server API. • 2D graphics – font, line, polygon anti-aliasing; • I/O activity, GUI events, event loop - based • 2D graphics – transparency and gradients; on Cocoa and Apple’s Core Foundation • “retina friendly”; framework • can mix with native GUI-controls (Apple’s Aqua UI) • “Event translator” – translates native GUI • In future can support multi-threaded GUI; events into “X11-like” events/emulates X11 • Implemented in Objective-C++ events (X11 events required by ROOT’s GUI to work) Availability: • 2D graphics – implemented with Apple’s • Mac OS X v >= 10.7 Quartz 2D API, Core Image and Core Text • XCode >= 4.x (Apple-provided clang version??) frameworks • Part of ROOT v. 5-34 (--enable-cocoa configure option) • 3D graphics (OpenGL): window/context/ • Default in the trunk version (still can be disabled with – pixel format management – Cocoa disable-cocoa). framework. Examples: ROOT GUI OpenGL Transparency, gradients For more information see: http://root.cern.ch For any questions please use following address: [email protected] .
Recommended publications
  • Connecting to Cat5 Via X2go from Macos Before Connecting to Cat5 the First Time, Please Follow the “First Time Only” Steps Below
    Brought to you by DES Computing Services Questions? [email protected] Connecting to Cat5 via X2Go from macOS Before connecting to Cat5 the first time, please follow the “First Time Only” steps below. Connecting to Cat5 1. From the Applications menu in Finder, run the “x2goclient” application. 2. Click on the white box on the right that says “cat5.” 3. Enter your Cat5 password as prompted and click OK. 4. The first time you connect, it will ask if you trust the host key. To verify the secure connection, check that the provided “hash” exactly matches one of these lines: • 5e:c1:1a:7a:3d:07:72:64:d3:fc:fe:0a:cc:c5:0f:c8:d1:92:aa:0a • 55:87:cd:ef:80:dc:9d:e8:1d:14:87:27:40:00:01:4a If it matches one of those, then click “Yes” to connect. If it doesn't match either of them, then please check Cat5 Host Key Fingerprints on the DES website for more possible hash values. Do not accept an unverified host key! Disconnecting from Cat5 1. To properly close your session, click on the “System” menu (within the Cat5 desktop) and then click “Log out <name>...” 2. If you just close the window, it will pause your session. You should be able to reconnect later to resume where you left off, but sometimes this might not work. To be safe, follow step 1. First Time Only Steps Install XQuartz You must have the “XQuartz” X-Window system installed before you install X2Go. You may have already installed it for another class.
    [Show full text]
  • Kinect in Mac: QC and Processing
    Kinect in Mac: Quartz Composer and Processing A brief tutorial by NIRTeam @ TEI Crete Contents ● Using Quartz Composer with Kinect ● Using Processing programming language with kinect ● 3D scanning using Kinect Quartz Composer (QC) ● Node-based visual programming language used mainly for processing and rendering graphics. ● Included in the Xcode developer tools package by Apple ● Quartz Composer uses OpenGL (including GLSL), OpenCL, Core Image, Core Video, JavaScript, and other technologies to build an API and a developer tool Data types inside QC Boolean - a boolean value, 0 or 1 Index - a positive integer between 0 and 2147483647 Number - a double precision floating point number String - a unicode string Color - an RGBA or CMYK quartet, or a Grayscale value Image - a 2D image of arbitrary (possibly infinite) dimensions Structure - a named or ordered collection of objects, including nested structures Virtual - any of the above Mesh - a collection of vertices, and per-vertex normals, texture coordinates, and colors in 3-space. Interaction - a valueless type used to associate user input with user-interactive elements of the composition. QC Programming QC Programming = connecting different nodes (Patches). QC Patches The patches are divided into three categories: 1. “Providers” 2. “Processors” 3. “Consumers” QC resources - http://kineme.net/ - http://quartzcomposer.com/compositions - http://www.quartzcompositions.com/ - http://guides.macrumors.com/Quartz_Composer Kinect & QC Kineme KinectTools plugin http://kineme.net/KinectTools Synapse plugin http://synapsekinect.tumblr.com/ v002 open Kinect example http://kineme.net/forum/Discussion/Programming/v002OpenKinectBeta Quartz-Composer-Open-Kinect-Plugin https://github.com/stoulouse/Quartz-Composer-Open-Kinect-Plugin UIO Kinect with TUIO client QC Plugin https://code.google.com/p/tuiokinect/ http://prdownloads.sourceforge.net/reactivision/TUIO_Quartz-1.4.zip?download Tryplex Toolkit http://code.google.com/p/tryplex/ Kinect & QC: Kineme KinectTools plugin ● Retrieves color and depth image data from the Kinect.
    [Show full text]
  • Develop-21 9503 March 1995.Pdf
    develop E D I T O R I A L S T A F F T H I N G S T O K N O W C O N T A C T I N G U S Editor-in-Cheek Caroline Rose develop, The Apple Technical Feedback. Send editorial suggestions Managing Editor Toni Moccia Journal, a quarterly publication of or comments to Caroline Rose at Technical Buckstopper Dave Johnson Apple Computer’s Developer Press AppleLink CROSE, Internet group, is published in March, June, [email protected], or fax Bookmark CD Leader Alex Dosher September, and December. develop (408)974-6395. Send technical Able Assistants Meredith Best, Liz Hujsak articles and code have been reviewed questions about develop to Dave Our Boss Greg Joswiak for robustness by Apple engineers. Johnson at AppleLink JOHNSON.DK, His Boss Dennis Matthews Internet [email protected], CompuServe This issue’s CD. Subscription issues Review Board Pete “Luke” Alexander, Dave 75300,715, or fax (408)974-6395. Or of develop are accompanied by the Radcliffe, Jim Reekes, Bryan K. “Beaker” write to Caroline or Dave at Apple develop Bookmark CD. The Bookmark Ressler, Larry Rosenstein, Andy Shebanow, Computer, Inc., One Infinite Loop, CD contains a subset of the materials Gregg Williams M/S 303-4DP, Cupertino, CA 95014. on the monthly Developer CD Series, Contributing Editors Lorraine Anderson, which is available from APDA. Article submissions. Ask for our Steve Chernicoff, Toni Haskell, Judy Included on the CD are this issue and Author’s Guidelines and a submission Helfand, Cheryl Potter all back issues of develop along with the form at AppleLink DEVELOP, Indexer Marc Savage code that the articles describe.
    [Show full text]
  • 129 Practical Drawing for Ios Developers V4 DD F
    Practical Drawing for iOS Developers Taking advantage of the Core Graphics API Session 129 Bill Dudney Secret Service Captain or whatever… These are confidential sessions—please refrain from streaming, blogging, or taking pictures 1 What?! I could draw this with Quartz?! 2 3 4 5 6 7 8 9 Agenda 10 11 Gradient Background 12 Gradient Background Clipped 13 Data Grid 14 Clipped Horizontal Grid 15 Clipped Linear Fill 16 Closing Data 17 Volume Data 18 Text Labels 19 Simple Stocks 20 Drawing 21 22 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { ... } ... @end 23 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { [[UIColor redColor] setFill]; UIRectFill(self.bounds); } ... @end 24 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { [[UIColor redColor] setFill]; UIRectFill(self.bounds); } ... @end 25 Gradient Fill - (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGGradientRef gradient = [self gradient]; CGPoint startPoint = CGPointMake(CGRectGetMidX(self.bounds), 0.0); CGPoint endPoint = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMaxY(self.bounds)); CGContextDrawLinearGradient(ctx, gradient, startPoint, endPoint, 0); } 26 Core Graphics Is a C API Quartz 2D Documentation 27 …just now. —Bill Dudney 28 UIKit to the Rescue Much of Core Graphics is covered by UIKit 29 Gradient Fill Get the context - (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGGradientRef gradient = [self gradient]; CGPoint startPoint = CGPointMake(CGRectGetMidX(self.bounds),
    [Show full text]
  • Iphone Ios 5 Development Essentials
    iPhone iOS 5 Development Essentials i iPhone iOS 5 Development Essentials – First Edition ISBN-13: 978-1466337275 © 2011 Neil Smyth. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 2.3p ii Table of Contents Preface ............................................................................................................................................................... xix 1. About iPhone iOS 5 App Development Essentials .............................................................................................. 1 1.1 Example Source Code ................................................................................................................................... 2 1.2 Feedback ...................................................................................................................................................... 2 2. The Anatomy of an iPhone 4S ...........................................................................................................................
    [Show full text]
  • Chapter 1. Origins of Mac OS X
    1 Chapter 1. Origins of Mac OS X "Most ideas come from previous ideas." Alan Curtis Kay The Mac OS X operating system represents a rather successful coming together of paradigms, ideologies, and technologies that have often resisted each other in the past. A good example is the cordial relationship that exists between the command-line and graphical interfaces in Mac OS X. The system is a result of the trials and tribulations of Apple and NeXT, as well as their user and developer communities. Mac OS X exemplifies how a capable system can result from the direct or indirect efforts of corporations, academic and research communities, the Open Source and Free Software movements, and, of course, individuals. Apple has been around since 1976, and many accounts of its history have been told. If the story of Apple as a company is fascinating, so is the technical history of Apple's operating systems. In this chapter,[1] we will trace the history of Mac OS X, discussing several technologies whose confluence eventually led to the modern-day Apple operating system. [1] This book's accompanying web site (www.osxbook.com) provides a more detailed technical history of all of Apple's operating systems. 1 2 2 1 1.1. Apple's Quest for the[2] Operating System [2] Whereas the word "the" is used here to designate prominence and desirability, it is an interesting coincidence that "THE" was the name of a multiprogramming system described by Edsger W. Dijkstra in a 1968 paper. It was March 1988. The Macintosh had been around for four years.
    [Show full text]
  • Next-Generation Cryptographic Services I’M Going to Tell You, and I Won’T Kill You
    Next-Generation Cryptographic Services I’m going to tell you, and I won’t kill you Session 212 Jon Callas Security Privateer These are confidential sessions—please refrain from streaming, blogging, or taking pictures 1 Introduction • Learn about exciting changes to Apple’s cryptographic architecture • First major reworking of crypto in a decade 2 What You Will Learn • Changes to existing APIs • New Transform API • How to use Apple’s Transform library • How to create your own custom Transforms 3 CDSA Common Data Security Architecture 4 CDSA Is Deprecated • It is a creature of its time • That time is the late 1990s • It is a thinly used, Open Group standard ■ All of the costs, few of the benefits • Only a Mac OS API, not iOS 5 Deprecated Does Not Mean Canceled • CDSA is still available • Start migrating away now • Some parts of Security Framework have layering issues with CDSA ■ Those parts are deprecated, too 6 Requirements for a Replacement Design for the decades ahead • Less code • Faster code • Concurrent code • Flexible programming ■ Crypto includes ciphers, compression, XML, networking, REST, LDAP, databases… 7 New Crypto Architecture • Low-level (pointer, length) Security Framework Core Foundation • Basic core algorithms • FoundationOnly for on FIPS 140 Transforms Core Foundation validation Mac OS • Traditional crypto toolkit CommonCrypto C-language programming • Documentation in man pages ■ man CC_crypto 8 New CommonCrypto Architecture • Starts from Snow Leopard’s CommonCrypto • Recoded internals ■ Both Mac OS, iOS ■ NIST algorithm
    [Show full text]
  • Release and Installation Notes
    CSD Release and Installation Notes 2016 CSDS Release Copyright © 2016 Cambridge Crystallographic Data Centre Registered Charity No 800579 Conditions of Use The Cambridge Structural Database System (CSD System) comprising all or some of the following: ConQuest, Quest, PreQuest, deCIFer, Mercury, (Mercury CSD and CSD-Materials [formerly known as the Solid Form or Materials module of Mercury], Mercury DASH), Mogul, IsoStar, DASH, SuperStar, web accessible CSD tools and services, WebCSD, CSD Java sketcher, CSD data file, CSD-UNITY, CSD-MDL, CSD-SDFile, CSD data updates, sub files derived from the foregoing data files, documentation and command procedures, test versions of any existing or new program, code, tool, data files, sub-files, documentation or command procedures which may be available from time to time (each individually a Component) is a database and copyright work belonging to the Cambridge Crystallographic Data Centre (CCDC) and its licensors and all rights are protected. Use of the CSD System is permitted solely in accordance with a valid Licence of Access Agreement or Products Licence and Support Agreement and all Components included are proprietary. When a Component is supplied independently of the CSD System its use is subject to the conditions of the separate licence. All persons accessing the CSD System or its Components should make themselves aware of the conditions contained in the Licence of Access Agreement or Products Licence and Support Agreement or the relevant licence. In particular: The CSD System and its Components are licensed subject to a time limit for use by a specified organisation at a specified location. The CSD System and its Components are to be treated as confidential and may NOT be disclosed or re-distributed in any form, in whole or in part, to any third party.
    [Show full text]
  • Mac OS X: an Introduction for Support Providers
    Mac OS X: An Introduction for Support Providers Course Information Purpose of Course Mac OS X is the next-generation Macintosh operating system, utilizing a highly robust UNIX core with a brand new simplified user experience. It is the first successful attempt to provide a fully-functional graphical user experience in such an implementation without requiring the user to know or understand UNIX. This course is designed to provide a theoretical foundation for support providers seeking to provide user support for Mac OS X. It assumes the student has performed this role for Mac OS 9, and seeks to ground the student in Mac OS X using Mac OS 9 terms and concepts. Author: Robert Dorsett, manager, AppleCare Product Training & Readiness. Module Length: 2 hours Audience: Phone support, Apple Solutions Experts, Service Providers. Prerequisites: Experience supporting Mac OS 9 Course map: Operating Systems 101 Mac OS 9 and Cooperative Multitasking Mac OS X: Pre-emptive Multitasking and Protected Memory. Mac OS X: Symmetric Multiprocessing Components of Mac OS X The Layered Approach Darwin Core Services Graphics Services Application Environments Aqua Useful Mac OS X Jargon Bundles Frameworks Umbrella Frameworks Mac OS X Installation Initialization Options Installation Options Version 1.0 Copyright © 2001 by Apple Computer, Inc. All Rights Reserved. 1 Startup Keys Mac OS X Setup Assistant Mac OS 9 and Classic Standard Directory Names Quick Answers: Where do my __________ go? More Directory Names A Word on Paths Security UNIX and security Multiple user implementation Root Old Stuff in New Terms INITs in Mac OS X Fonts FKEYs Printing from Mac OS X Disk First Aid and Drive Setup Startup Items Mac OS 9 Control Panels and Functionality mapped to Mac OS X New Stuff to Check Out Review Questions Review Answers Further Reading Change history: 3/19/01: Removed comment about UFS volumes not being selectable by Startup Disk.
    [Show full text]
  • Mac OS X and PDF: the Real Story
    Mac OS X and PDF The Real Story Leonard Rosenthol Lazerware, Inc. Copyright©1999-2001, Lazerware, Inc. Overview •Mac OS X •PDF • Where’s the overlap? Copyright©1999-2001, Lazerware, Inc. You are here because… • You’re currently working with Mac OS and are interested in what Mac OS X brings to the table. • You’re curious about what Apple’s latest hype is all about. • You’re already awake and had to find something to kill time. • You’re a friend of mine and wanted to heckle Copyright©1999-2001, Lazerware, Inc. How I do things • You should all have copies of the presentation that you received when you walked in. • There is also an electronic copy of this presentation (PDF format, of course!) on my website at http://www.lazerware.com/ • I’ve left time at the end for Q&A, but please feel free to ask questions at any time! Copyright©1999-2001, Lazerware, Inc. Mac OS X Overview Copyright©1999-2001, Lazerware, Inc. Darwin • “Core OS” (Kernel) – Solid Unix foundation • FreeBSD 3.2 & Mach 3.0 • Memory protection, preemptive multitasking, etc. – High performance I/O • Firewire, USB, etc. • Open source Copyright©1999-2001, Lazerware, Inc. Graphics •Quartz – Adobe Imaging Model (PDF) • Includes full anti-aliasing and opacity/transparency • OpenGL – Industry standard 3D engine used by Quake & Maya • QuickTime Copyright©1999-2001, Lazerware, Inc. Graphics Demos - Quartz Copyright©1999-2001, Lazerware, Inc. Graphics Demos – OpenGL Copyright©1999-2001, Lazerware, Inc. Application Frameworks • Classic – Compatibility “box” for existing Mac OS applications. • Carbon – Modern versions of Mac OS applications prepared for Mac OS X.
    [Show full text]
  • Interactive Music Visualization – Implementation, Realization and Evaluation MASTER DISSERTATION
    DM DM Interactive Music Visualization – Implementation, Realization and Evaluation MASTER DISSERTATION Nome Autor do Marco Filipe Ganança Vieira MASTER IN INFORMATICS ENGINEERING Interactive Music Visualization – Implementation, Interactive Music Visualization Realization and Evaluation Marco Filipe Ganança Vieira September | 2012 Nome do Projecto/Relatório/Dissertação de Mestrado e/ou Tese de Doutoramento | Nome do Projecto/Relatório/Dissertação de Mestrado e/ou Tese DIMENSÕES: 45 X 29,7 cm NOTA* PAPEL: COUCHÊ MATE 350 GRAMAS Caso a lombada tenha um tamanho inferior a 2 cm de largura, o logótipo institucional da UMa terá de rodar 90º , para que não perca a sua legibilidade|identidade. IMPRESSÃO: 4 CORES (CMYK) ACABAMENTO: LAMINAÇÃO MATE Caso a lombada tenha menos de 1,5 cm até 0,7 cm de largura o laoyut da mesma passa a ser aquele que consta no lado direito da folha. Interactive Music Visualization – Implementation, Realization and Evaluation MASTER DISSERTATION Marco Filipe Ganança Vieira MASTER IN INFORMATICS ENGINEERING ORIENTAÇÃO Mon-Chu Chen Abstract This thesis describes all process of the development of music visualization, starting with the implementation, followed by realization and then evaluation. The main goal is to have to knowledge of how the audience live performance experience can be enhanced through music visualization. With music visualization is possible to give a better understanding about the music feelings constructing an intensive atmosphere in the live music performance, which enhances the connection between the live music and the audience through visuals. These visuals have to be related to the live music, furthermore has to quickly respond to live music changes and introduce novelty into the visuals.
    [Show full text]
  • Trine University Information Technology Department Service Level Agreement
    TRINE UNIVERSITY INFORMATION TECHNOLOGY DEPARTMENT SERVICE LEVEL AGREEMENT EFFECTIVE DATE: August 6, 2012 SERVICE PROVIDER: Information Technology and Academic Technology Employees CUSTOMER: Trine University Administration and Faculty TYPE OF SERVICE: Technology Service and Support SCOPE: The I.T. Help Desk is the central point of contact for all service requests. Services provided: 1. Equipment (PC’s, printers, phones, etc.) and software moves, adds, or changes.* 2. Service requests such as user ID and password creation, phone and voice mail setup, creation of network folders, report requests, and assistance with Jenzabar, PowerFaids, Moodle, Microsoft Office or any other approved software. 3. Correction of problems or defects associated with any technology or telecommunications service. 4. Consulting and instruction associated with the use of technology. * See Appendix 1 for a list of Trine University standard hardware and software. Technology that competes or conflicts with these standards is not supported. Support Process: 1. A ticket is recorded for all requests with an email confirmation sent to the customer. 2. Tickets are resolved on first contact whenever possible, or assigned to the appropriate specialist. 3. Tickets status is monitored for adherence to service goals. 4. For services that require advance scheduling, customers are contacted to determine a suitable date and time. 5. Problem resolution is documented and communicated to customers verbally and/or via email. 6. Service metric reports are generated and shared with I.T. Sub-Committees. HOURS OF SERVICE: 7:00 a.m. to 7:00 p.m., Monday through Friday during the academic year (8:00 a.m. to 5:00 p.m.
    [Show full text]