/** * Displays titles in a color picked from the center of the thumbnail. * Images and headlines scroll over the screen. * * (c) 2008 Till Nagel, btk.tillnagel.com */ import processing.opengl.*; import processing.xml.*; // The items array Item[] items; // 17 items can be displayed int itemNumber = 17; PFont font; void setup() { size(1000, 800, OPENGL); font = loadFont("Consolas-BoldItalic-42.vlw"); textFont(font, 42); // Loads RSS feed and gets title and image of each item XMLElement rss = new XMLElement(this, "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml"); XMLElement[] titleXMLElements = rss.getChildren("channel/item/title"); XMLElement[] imageURLElements = rss.getChildren("channel/item/media:thumbnail"); items = new Item[itemNumber]; // Gets title, loads image and creates Item for each feed item for (int i = 0; i < items.length; i++) { String title = titleXMLElements[i].getContent(); String imageURL = imageURLElements[i].getStringAttribute("url"); PImage img = loadImage(imageURL); items[i] = new Item(title, img, 10, i * 50); } } void draw() { background(0); // Displays and scrolls each item for (int i = 0; i < items.length; i++) { items[i].display(); items[i].scroll(); } }