XML RSS
With RSS it is possible to distribute up-to-date web content from one web site to thousands of other web sites around the world.
RSS allows fast browsing for news and updates.
RSS Document Example
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/xml/xml_rss.asp</link>
<description>New RSS tutorial on W3Schools</description>
</item>
<item>
<title>XML Tutorial</title>
<link>http://www.w3schools.com/xml</link>
<description>New XML tutorial on W3Schools</description>
</item>
</channel>
</rss>
What is RSS?
- RSS stands for Really Simple Syndication
- RSS allows you to syndicate your site content
- RSS defines an easy way to share and view headlines and content
- RSS files can be automatically updated
- RSS allows personalized views for different sites
- RSS is written in XML
Why use RSS?
RSS was designed to show selected data.
Without RSS, users will have to check your site daily for new updates. This may be too time-consuming for many users. With an RSS feed (RSS is often called a News feed or RSS feed) they can check your site faster using an RSS aggregator (a site or program that gathers and sorts out RSS feeds).
Since RSS data is small and fast-loading, it can easily be used with services like cell phones or PDA's.
Web-rings with similar information can easily share data on their web sites to make them better and more useful.
Who Should use RSS?
Webmasters who seldom update their web sites do not need RSS!
RSS is useful for web sites that are updated frequently, like:
- News sites - Lists news with title, date and descriptions
- Companies - Lists news and new products
- Calendars - Lists upcoming events and important days
- Site changes - Lists changed pages or new pages
Benefits of RSS
Here are some benefits of using RSS:
Choose your news
With RSS you can choose to view the news you want, the news that interest you and are relevant to your work.
Remove unwanted information
With RSS you can (finally) separate wanted information from unwanted information (spam)!
Increase your site traffic
With RSS you can create your own news channel, and publish it to the Internet!
The History of RSS
- 1997 - Dave Winer at UserLand develops scriptingNews. RSS was born
- 1999 - Netscape develops RSS 0.90 (which supported scriptingNews)
- 1999 - Dave Winer develops scriptingNews 2.0b1 (which included RSS 0.90 features)
- 1999 - Netscape develops RSS 0.91 (which included most features from scriptingNews 2.0b1)
- 1999 - UserLand gets rid of scriptingNews and uses only RSS 0.91
- 1999 - Netscape stops their RSS development
- 2000 - UserLand releases the official RSS 0.91 specification
- 2000 - O'Reilly develops RSS 1.0. This format uses RDF and namespaces.
- 2000 - Dave Winer at UserLand develops RSS 0.92
- 2002 - Dave Winer develops RSS 2.0 after leaving UserLand
- 2003 - The official RSS 2.0 specification is released
RSS 1.0 is the only version that was developed using the W3C RDF (Resource Description Framework) standard.
The idea behind RDF was to help create a Semantic Web. However, this does not matter too much for ordinary users, but by using web standards it will be easier for persons and applications to exchange data.
What RSS Version Should I Use?
RSS 0.91 and RSS 2.0 are easier to understand than RSS 1.0. Our tutorial is based on RSS 2.0.
The syntax rules of RSS 2.0 are very simple and very strict.
Is RSS a Web Standard?
There is no official standard for RSS.
- About 50 % of all RSS feeds use RSS 0.91
- About 25 % use RSS 1.0
- The last 25 % is split between RSS 0.9x versions and RSS 2.0
How RSS Works
RSS is used to share content between websites.
With RSS, you register your content with companies called aggregators.
So, to be a part of it: First, create an RSS document and save it with an .xml extension. Then, upload the file to your website. Next, register with an RSS aggregator. Each day the aggregator searches the registered websites for RSS documents, verifies the link, and displays information about the feed so clients can link to documents that interests them.
Tip: Read our RSS Publishing chapter to view free RSS aggregation services.
RSS Example
RSS documents use a self-describing and simple syntax.
Here is a simple RSS document:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/xml/xml_rss.asp</link>
<description>New RSS tutorial on W3Schools</description>
</item>
<item>
<title>XML Tutorial</title>
<link>http://www.w3schools.com/xml</link>
<description>New XML tutorial on W3Schools</description>
</item>
</channel>
</rss>
The first line in the document - the XML declaration - defines the XML version and the character encoding used in the document. In this case the document conforms to the 1.0 specification of XML and uses the UTF-8 character set.
The next line is the RSS declaration which identifies that this is an RSS document (in this case, RSS version 2.0).
The next line contains the <channel> element. This element is used to describe the RSS feed.
The <channel> element has three required child elements:
- <title> - Defines the title of the channel (e.g. W3Schools Home Page)
- <link> - Defines the hyperlink to the channel (e.g. http://www.w3schools.com)
- <description> - Describes the channel (e.g. Free web building tutorials)
Each <channel> element can have one or more <item> elements.
Each <item> element defines an article or "story" in the RSS feed.
The <item> element has three required child elements:
- <title> - Defines the title of the item (e.g. RSS Tutorial)
- <link> - Defines the hyperlink to the item (e.g. http://www.w3schools.com/xml/xml_rss.asp)
- <description> - Describes the item (e.g. New RSS tutorial on W3Schools)
Finally, the two last lines close the <channel> and <rss> elements.
Comments in RSS
The syntax for writing comments in RSS is similar to that of HTML:

RSS is Written in XML
Because RSS is XML, keep in mind that:
- All elements must have a closing tag
- Elements are case sensitive
- Elements must be properly nested
- Attribute values must always be quoted
The RSS <channel> Element
The RSS <channel> element describes the RSS feed.
Look at the following RSS document:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/xml/xml_rss.asp</link>
<description>New RSS tutorial on W3Schools</description>
</item>
</channel>
</rss>
As mentioned before, the <channel> element describes the RSS feed, and has three required child elements:
- <title> - Defines the title of the channel (e.g. W3Schools Home Page)
- <link> - Defines the hyperlink to the channel (e.g. http://www.w3schools.com)
- <description> - Describes the channel (e.g. Free web building tutorials)
The <channel> element usually contains one or more <item> elements. Each <item> element defines an article or "story" in the RSS feed.
Furthermore, there are several optional child elements of <channel>. We will explain the most important ones below.
The <category> Element
The <category> child element is used to specify a category for your feed.
The <category> element makes it possible for RSS aggregators to group sites based on category.
The category for the RSS document above could be:
<category>Web development</category>
The <copyright> Element
The <copyright> child element notifies about copyrighted material.
The copyright for the RSS document above could be:
<copyright>2006 Refsnes Data as. All rights reserved.</copyright>
The <image> Element
The <image> child element allows an image to be displayed when aggregators present a feed.
The <image> element has three required child elements:
- <url> - Defines the URL to the image
- <title> - Defines the text to display if the image could not be shown
- <link> - Defines the hyperlink to the website that offers the channel
The image for the RSS document above could be:
<image>
<url>http://www.w3schools.com/images/logo.gif</url>
<title>W3Schools.com</title>
<link>http://www.w3schools.com</link>
</image>
The <language> Element
The <language> child element is used to specify the language used to write your document.
The <language> element makes it possible for RSS aggregators to group sites based on language.
The language for the RSS document above could be:
<language>en-us</language>
The <item> Element
Each <item> element defines an article or "story" in an RSS feed.
Look at the following RSS document:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/xml/xml_rss.asp</link>
<description>New RSS tutorial on W3Schools</description>
</item>
</channel>
</rss>
As mentioned before, each <item> element defines an article or "story" in the RSS feed.
The <item> element has three required child elements:
- <title> - Defines the title of the item (e.g. RSS Tutorial)
- <link> - Defines the hyperlink to the item (e.g. http://www.w3schools.com/xml/xml_rss.asp)
- <description> - Describes the item (e.g. New RSS tutorial on W3Schools)
Furthermore, there are several optional child elements of <item>. We will explain the most important ones below.
The <author> Element
The <author> child element is used to specify the e-mail address of the author of an item.
Note: To prevent spam e-mails, some developers do not include the <author> element.
The author of the item in the RSS document above could be:
<EMAIL_ADDRESS>The <comments> Element
The <comments> child element allows an item to link to comments about that item.
A comment of the item in the RSS document above could be:
<comments>http://www.w3schools.com/comments</comments>
The <enclosure> Element
The <enclosure> child element allows a media-file to be included with an item.
The <enclosure> element has three required attributes:
- url - Defines the URL to the media file
- length - Defines the length (in bytes) of the media file
- type - Defines the type of media file
A media-file included in the item in the RSS document above could be:
<enclosure url="http://www.w3schools.com/xml/rss.mp3"
length="5000" type="audio/mpeg" />
Get Your RSS Feed Up On The Web
Having an RSS document is not useful if other people cannot reach it.
Now it's time to get your RSS file up on the web. Here are the steps:
1. Name your RSS file. Notice that the file must have an .xml extension.
2. Validate your RSS file (a good validator can be found at http://www.feedvalidator.org).
3. Upload the RSS file to your web directory on your web server.
4. Copy the little orange or button to your web directory.
5. Put the little orange "RSS" or "XML" button on the page where you will
offer RSS to the world (e.g. on your home page). Then add a link to the button
that links to the RSS file. The code will look something like this:

.
6. Submit your RSS feed to the RSS Feed Directories (you can Google or Yahoo for "RSS Feed Directories"). Note! The URL to your feed is not your home page, it is the URL to your feed, like "http://www.w3schools.com/xml/myfirstrss.xml". Here is a free RSS aggregation service:
7. Register your feed with the major search engines:
- Google - http://www.google.com/submityourcontent/website-owner
- Bing - http://www.bing.com/toolbox/submit-site-url
8. Update your feed - After registering your RSS feed, you must make sure that you update your content frequently and that your RSS feed is constantly available.
Can I Manage my RSS Feed Myself?
The best way to ensure your RSS feed works the way you want, is to manage it yourself.
However, this can be very time consuming, especially for pages with lot of updates.
An alternative is to use a third-party automated RSS.
Automated RSS
For users who only need an RSS feed for their personal website, some of the most popular blog (Web Log) managers that offer built-in RSS services are:
RSS Readers
An RSS Reader is used to read RSS Feeds!
RSS readers are available for many different devices and OS.
There are a lot of different RSS readers. Some work as web services, and some are limited to windows (or Mac, PDA or UNIX):
- QuiteRSS - FREE! QuiteRSS is an open-source, cross-platform RSS/Atom news reader. It is versatile, and has a full set of options. QuietRSS has a rich set of social sharing options (Email/Twitter/Facebook/.../Pocket/Etc). QuietRSS is fast starting, and navigation is quick
- FeedReader - FREE! Simple, straightforward feed reader that easily handles large number of feeds. Has the essential options (not a lot of confusing ones). Does not require Java. Import or export OPML files. Option to open links in an external browser
- RssReader - FREE! Windows-based RSS reader. Supports RSS versions 0.9x, 1.0 and 2.0 and Atom 0.1, 0.2 and 0.3
- blogbotrss - FREE! An RSS reader plug-in for Internet Explorer and Microsoft Outlook
Tip: Most browsers have a built-in RSS Reader. If you go to a web site that offers RSS feeds, you will see an RSS icon in the address bar, or toolbar. Click on the icon to view a list of the different feeds. Choose the feed you want to read.
I have an RSS Reader. Now what?
Click on the little or button next to the RSS feed you want to read. Copy The URL you get in the browser window and paste it in your RSS reader.
RSS Examples
These examples demonstrate RSS using our RSS reader to view the results.
RSS <channel> Element
Setting the required channel elements (<title>, <link>, and <description>)
Specify a category
for the RSS
Specify the
program used to generate the RSS
Add an image to the
RSS
Specify the
language of the RSS
Add an text input
field to the RSS
Specify days that
the RSS should not be updated
RSS <item> element
Setting the required item elements (<title>, <link>, and <description>)
Add a link to
comments about the RSS item
Add a media file
to the RSS item
Specify a unique
identifier for the item
Specify the
publication date for the RSS item
Specify a
third-party source for the RSS item
RSS Reference
RSS <channel> Element
The links in the "Element" column point to more information about each specific element.
| Element | Description |
|---|---|
| <category> | Optional. Defines one or more categories for the feed |
| <cloud> | Optional. Register processes to be notified immediately of updates of the feed |
| <copyright> | Optional. Notifies about copyrighted material |
| <description> | Required. Describes the channel |
| <docs> | Optional. Specifies a URL to the documentation of the format used in the feed |
| <generator> | Optional. Specifies the program used to generate the feed |
| <image> | Optional. Allows an image to be displayed when aggregators present a feed |
| <language> | Optional. Specifies the language the feed is written in |
| <lastBuildDate> | Optional. Defines the last-modified date of the content of the feed |
| <link> | Required. Defines the hyperlink to the channel |
| <managingEditor> | Optional. Defines the e-mail address to the editor of the content of the feed |
| <pubDate> | Optional. Defines the last publication date for the content of the feed |
| <rating> | Optional. The PICS rating of the feed |
| <skipDays> | Optional. Specifies the days where aggregators should skip updating the feed |
| <skipHours> | Optional. Specifies the hours where aggregators should skip updating the feed |
| <textInput> | Optional. Specifies a text input field that should be displayed with the feed |
| <title> | Required. Defines the title of the channel |
| <ttl> | Optional. Specifies the number of minutes the feed can stay cached before refreshing it from the source |
| <webMaster> | Optional. Defines the e-mail address to the webmaster of the feed |
RSS <item> Element
| Element | Description |
|---|---|
| <author> | Optional. Specifies the e-mail address to the author of the item |
| <category> | Optional. Defines one or more categories the item belongs to |
| <comments> | Optional. Allows an item to link to comments about that item |
| <description> | Required. Describes the item |
| <enclosure> | Optional. Allows a media file to be included with the item |
| <guid> | Optional. Defines a unique identifier for the item |
| <link> | Required. Defines the hyperlink to the item |
| <pubDate> | Optional. Defines the last-publication date for the item |
| <source> | Optional. Specifies a third-party source for the item |
| <title> | Required. Defines the title of the item |


Medicom
Denti-Care
Denti-Freeze
Topical Anesthetic Gel
Cherry
1 oz./ 28.4 g
NDC 64778-0394-1
DIN 02318148
For rapid and long lasting topical anesthesia.
Directions: Apply 0.2 mL of gel to the desired area using a cotton swab.
Active ingredients: Benzocaine 18.0% w/w, Tetracaine Hydrochloride 2.0% w/w
Warnings: KEEP OUT OF REACH OF CHILDREN.
Store at room temperature.
Do not expose to excessive heat (over 40 degrees C or 104 degrees F)
Made in USA for:
A.R. Medicom Inc. Montreal, Canada H8T 3J8
Questions: 1-800-361-2862 or www.medicom.com
UPC<PHONE_NUMBER>02
Item 10039-CH
No. 112438
Rev.2


--- layout: post title: Pimp My Safari mt_id: 369 date: 2005-03-25 16:15:03.000000000 +09:00 author: clouder category: Mac ---
Pimp My Safari It was started as a reaction to the sites cataloguing Firefox extensions. Many excellent plugins for Safari have been developed, but because Safari doesn窶冲 have an official 窶脇xtension architecture窶�, many don窶冲 know of these extensions.Safariのプラグインを紹介しているサイト。Firefoxとかはあるけど、Safariはこういうまとめたサイトってなかったので、便利かも。


We take our cellular devices everywhere. They are some of the most powerful devices in the world. With its small compact design, we can take Orbis anywhere. We can further expand its capabilities when paired with an Atlas.
Orbis is a pocket computer that you take everywhere. It's compact design is created using nano microchip engineering and fiber optic wiring that mesh in perfect harmony. The revolutionary 128-bit processor is unmatched anywhere in the world.
With nano-engineering, we can get to the smallest, most powerful hardware available. Backed with our simple, elegant 128-bit operating system, we have created the most advanced cellular device as well as the most powerful computer - EVER.
When Orbis is paired with Atlas, a whole new level of capabilites are revealed. Atlas is a revolutionary heads-up-display that further expand what Orbis can do. It provides hundreds of millions of pixels compacted onto a 27" by 14" display. Made of Nano-Glass and Aircraft Aluminum, Atlas is lightweight and economically efficient in everyway. All components of Atlas are recycled, reused and reassembled to bring you the sharpest display - EVER.
Coming in 2020, Orbis and Atlas will revolutionize the industry. Be the first to own this landmark device. With your help, Orbis and Atlas will become the next widely used device on the planet. We have the resources needed to build it, we just need your funding to make it a reality.
Learn more by stopping by our offices and be added to our mailing list. Everyday, we make strides in providing and engineering the steps in enhancing Orbis. Atlas is built and ready for manufacturing.


no style image
object-fit: none
object-fit: cover
object-fit: contain
object-fit: fill
object-fit: scale-down (original 460px x 460px)
object-fit: scale-down (1000px x 1000px)
object-fit: cover; object-position: top left
object-fit: cover; object-position: bottom right
MS-Edge fix


{% extends 'base.html' %} {% block content %} {% load staticfiles %}
Looks like you landed here by mistake. Did you type in the correct URL? Or click here to go back to the main page.


{{song.artist}}
It appears you don't have a PDF plugin for this browser. No biggie... you can click here to download the PDF file.


Achievement Challenge (Client Interface)
Login
Username:
* Username must not be empty
Password:
* Password must not be empty
* Incorrect Password
Submit


Open Souce Contributor Guide Advisor Innovation Labs
Thank you for your interest in helping out. AI Labs is committed to building the best possible software and we believe that one of the best ways to do this is to contribute to the development community and (hopefully) benefit from wide peer review. Please feel free to reach out to #EMAIL/WEB# with any questions or submit an issue on Github.
What do I need to know to help?
AI Labs uses the following technologies that you should be familiar with:
-
PHP 5.6
-
Javascript
-
Functional Programming
-
Ramda
How can I chip in?
- Find an issue that you are interested in addressing by going to the GitHub Issues pages at Architecture and Architecture-devtools.
- Fork the repository to your local GitHub organization so it lives at your-GitHub-username/repository-name.
- Clone the repository to your local machine.
- Create a new branch for your contribution.
- Make appropriate changes.
- Commit your changes with a short but descriptive message.
- Push the changes to the remote repository using git push origin branch-name-here.
- Submit a pull request to the upstream repository.
- Title the pull request with a short description including the issue number if applicable. Eg. "Added more log outputting to resolve #4352". Important: Be sure that your description is helpful to the person clearing your PR. Mention any additional work needed, areas of concern, ideas, etc. Don’t be shy, no PR is ever perfect.
Once you submit a PR it will be reviewed and either returned with questions or suggestions or accepted with a merge. This process may take a bit so please be patient and feel free to reach out if you have concerns.
How can I get help?
Please visit casium.io to connect with other contributors.


Till Breath Do Us Part
Ludum Dare #44 Entry By Alexey Strelkov
Play in browser (not tested)
Download for Mac
Download for Windows (not tested)
Source code (unity)
Ludum Dare Page


template_bashrc
Rocky
If you are running on Rocky, you should have the following in your .bashrc file in your home folder.
bashrc_rocky
Gelert
If you are running on Gelert, you should have the following in your .bashrc file in your home folder.
bashrc_gelert


{% extends "nuvola.html" %} {% import "snippets.html" as snippets %} {% import "snippets_opensuse.html" as opensuse %} {% block tab_content %} {{ opensuse.install_flatpak_with_gui() }} {{ snippets.about_flatpak_repositories() }}
Although GNOME Software can open Flatpak repository files
(*.flatpakrepo
) directly since the version 3.22,
this feature
is currently broken in Leap 15.0 (it works in OpenSUSE Tumbleweed
though). You need to run following commands instead:
wget https://dl.flathub.org/repo/flathub.flatpakrepo
wget https://dl.tiliado.eu/flatpak/nuvola.flatpakrepo
gnome-software --local-filename flathub.flatpakrepo
gnome-software --local-filename nuvola.flatpakrepo
Finally, refresh the database of packages: Launch GNOME Software → switch to the Updates screen → click the Refresh button in the top left corner.


The best site to find your season rental
Winter's house
Disponibility
Autumn's house
Disponibility
Summer's house
Disponibility
Fall's house
Disponibility


Join FitToWin today and starting earning on your hard earned work.
View all your fitness stats in one place.
All your favourite fitness apps including FitBit, Garmin and Strava.


{% extends 'base.html' %} {% block pagecontent %}
Problems
Choose your language
help?
Language
These buttons helps you to choose the desire language in which you want your source code.
With this button you will get the answer in that particular language only.
Hover to get language detail
Answers swap_vertical_circle


About
What is this?
A blog about curiosity, adventure, and whimsy.
Whose blog is it?
Donny’s.
What’s with the name?
The theme of this blog is Curiosity, Adventure, and Whimsy (CAW). A raven given to folly seemed apropos.
I want to know something else!
Yay! I love curious people! Drop me a line and let’s chat.
Credits
- Background Photo (NASA)
- Raven Background (NASA)
- Raven Silhouette (Gordon Johnson)


FIFA 16
I love soccer. So it's obvious that FIFA 16 would be one of my favourite games. I have to say it was a bit of a disappointment. There was so much hype around it (which I guess is normal) but I expected it to be better than FIFA 15 but the only real improvement was the graphics. I mean playing with the women was interesting, but I never really got into it myself personally.


---
layout: post
authors: ["Greg Wilson"]
title: "Building a Minimal Online Presence"
date: 2014-03-27
time: "14:20:00"
tags: ["Bootcamps"]
---
Titus Brown and Ethan White led a half-hour discussion today of
the minimal online presence people in academia ought to have.
Notes from the call are below;
to make a point-form story even pointier,
please make yourself findable and shareable.
Things Titus & Ethan think are important for your (minimally sufficient) online presence
- Motivation: tried to track down info on Software Carpentry associated folk for computational science hires. Had a tough time!
- My opinion: within space of one reasonably-phrased google search, someone should be able to casually find
- Email address, CV in PDF form, research interests, and publication list/citations.
- Personal research writings (grad/post-doc applications, etc.)
- Searcher can then pass on to make a case for hiring/interviewing etc.
- This can be done with github and google scholar fairly easily.
- Don't need to keep everything up to date all the time
- But should update at every important milestone (e.g., changing position, publishing really important paper)
- A PDF form of CV is important for forwarding around... doesn't need to be completely up to date, google scholar can keep that, but important milestones.
- Presentation about automatically maintaining presence: http://www.slideshare.net/c.titus.brown/2014-beacontoolsforscience
- More generally, for social media: this presentation
- CV should contain
- training/position history
- summary of research interests
- funding and paper information
- important things to read
- online links; workshops and training; invitations; professional activities; references
- E.g.:
- Titus's CV
- Greg's summary and CV
for goodness sake, if you are a software carpentry instructor SAY SO somewhere!
really easy website builder http://www.staceyapp.com/ or use GitHub sites/pages
Wordpress.com is also a really easy way to build a nice looking personal website
Questions:
- Should people include links/mentions for code? If so, what/how? CTB: can't hurt! TH: I give a link to my github account
- convention for order of topics in CV might depend on field? CTB: no fixed conventions AFAIK, EPW: put the stuff that matters most first (& what matters most varies based on what you want to do professionally) SH: reverse chron!
- What if a lot of the code you develop is only viewable within your institution? Most of the code on my github is pretty old
- Should we have an area where folks can post links to their "presence"? As an example.
- We're very happy to include links to personal sites/home pages in the team list
- Please send to Greg, or send pull requests against the 'site' repo
- For a personal website how long/detailed should your research interests be?
- For non OA articles, do you link to the journal website (doi), to a pre/post-print, or to the published article (illegally, technically)? (Or in which order of preference)
- CTB: google scholar solves this problem pretty well :). Make sure to the best of your ability that your important papers are available somewhere/somehow. That having been said most professors will have access to most major journals, even if closed access.
- EPW: I use my institutional repository and put post-prints there and link to them (these then get indexed w/the paper in Google Scholar)
- SH: I post illegal links too and wait for publisher to complain
- Personal/lab web sites worth looking at:


Logout
InstaStocks
Welcome
{{username}}
!!
Add Cash
Balance: $0
Create Portfolio
Create Portfolio
Buy Stock
-- select an option --
Buy


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Serves 4
For the sea bream, place the sweet white miso, sugar, saké, mirin and soy sauce into a bowl and whisk together.
Rub the sea bream fillets all over with the vegetable oil, then cover generously with the miso mixture. Place onto a dish, cover and transfer to the fridge to marinate for two hours.
Remove the sea bream fillets from the marinade and place skin-side up onto a clean work surface.
Thread a metal skewer through each fillet, starting 4cm/1½in from the right-hand side of the tail end, gently folding the fillets to form ripples as the skewer threads up diagonally towards the top of the fillet.
Repeat with another skewer from the left-hand side of each fish.
Place wedges of lemon on one end of each skewers.
Preheat the grill to its highest setting. Place the skewered fish under the grill, skin-side up for 4-5 minutes, until golden-brown.
Turn the fillets and grill for 4-5 minutes on the other side, or until golden-brown and completely cooked through.
Remove the lemons from the skewers and slide a fillet onto each plate.
For the pickled onion salsa, bring a pan of salted water to the boil and add the green beans. Boil the beans for 30 seconds, then drain and plunge into iced water to stop the cooking process.
Meanwhile, place the rice vinegar and caster sugar into a clean pan and bring to the boil.
Place the onion and chilli slices into a bowl and pour the hot vinegar over. Cover and set aside for 30 minutes to pickle.
Place the tomatoes, beans, red onion pickle, rock chives and 1 tsp of the pickling liquid into a bowl and mix well. Season, to taste, with salt and freshly ground black pepper.
Serve the pickled onion salsa alongside the sea bream fillets.


Auction house Christie's and Sotheby’s possesses the highest total sales price and lots sold.
Among the different auction houses, Christie’s sold 70% of Katz’s artwork. Heffel Fine Art generated the most
sales with an average selling price of $81,012.48.


Blog moved to Blogofile
tl;dr I would have saved couple of hours by just reading the mailing list.
The following post is very much inspired by this entry. To get the
blog up, I used blogofile init simple_blog
generating a minimal setup
with no themes worked. I spent some time figuring out how to make my
index page similar to chronological page. The docs was lacking on this
part and in my eagerness, I went ahead and updated index.html.mako
with code from chronological.mako
. Realizing that its a criminal
duplication of code, I was convinced that there has to be a better way.
Quick walk through the mailing list pointed me to the following
conversation. Unfortunately, contrary to what is mentioned in the
list, I had to set blog.path = “” in my _config.py
. Otherwise, all
the links become [http://page/1][] instead
of [http://MYHOST/page/1][].
Setting up syntax highlighting for code samples using Pygments turned out to be more work then expected. It seemed after reading and this post by Morgan Goose led me to think that syntax highlighting will be automatically enabled. Unfortunately, it was not to be. I had to update the config file with (this options are present if you init blogofile.com):
filters.syntax_highlight.style = "murphy"
filters.syntax_highlight.css_dir = "/css"
filters.syntax_highlight.preload_styles = ["murphy"]
blog.post_default_filters = {
"rst": "rst, syntax_highlight",
}
Apart from the above change, I also liked zzzeek’s changes to the
syntax_highlight.py
which enables me write code samples using
#!python
directive. Lets face some facts - it will be sometime before
I post anything other than Python.
Next step is to get yourself registered with Disqus and setup Blogofile by adding to the config file::
!python blog.disqus.enabled = True blog.disqus.name = “YOUR-DISQUS-APPNAME”
As a side note, if you are using VIRTUALENV
along with blogofile, do
not forget to start your environment name with _
. Otherwise, blogofile
will simply copy it to _site and it will get synced to your remote
folder. I just use _ENV
instead of ENV
.


Liverpool’s Fabinho ruled out until New Year with ankle injury
LONDON, Nov 29 — Liverpool midfielder Fabinho will be out for more than a month after suffering ankle ligament damage during this week’s Champions League clash with Napoli, the club said today.
The Brazilian, who has this season established himself as a first-choice pick for Jurgen Klopp’s Premier League leaders, was substituted after just 18 minutes of the 1-1 draw at Anfield on Wednesday.
Liverpool have announced that the 26-year-old will play no part in their congested run of 10 games between now and the end of December.
A club statement read: “Liverpool can confirm Fabinho suffered ankle ligament damage during the Champions League encounter with Napoli in midweek.”
“Further assessment on the injury has discovered Fabinho will be out of action until the New Year,” it added.
“The Brazilian will begin a rehabilitation programme with the Reds’ medical team at Melwood as he works his way back to full fitness.”
Speaking at his pre-match press conference ahead of Saturday’s home game against Brighton, Klopp discussed Fabinho’s absence.
“Absolute bad news,” he said. “We are not 100 per cent sure how long it will take but looks sure he will not take part in the Christmas fixtures.
“We have solutions for the position. We are not the only team with injuries. We have to find a solution and that’s what we will do.”
Adam Lallana, Jordan Henderson and Gini Wijnaldum were mentioned as possible stand-ins, with a reshuffle in the centre likely, but Klopp admitted none represented a perfect like-for-like swap.
“Will the solution be exactly like Fabinho? No, because no-one is like Fabinho,” he said. — AFP


Python is an interpreted, high level, general purpose and object-oriented or structured programming language. It was created by Guido van Rossum in 1991 and developed by Python Software Foundation.
It was especially developed to emphasize code readability, and its syntax allows programmers to express logic and instructions in fewer lines of code. Therefore, we can state that Python is a very synthetic programming language, which allows us to store and to manipulate a large amount of data easier.
The main features of Python:
Simple and easy to learn
Free and Open Source
Cross Plattform
High-level Interpreted Language
Object Oriented
Python is basically available in two major versions: Python 2 and Python 3. This website will introduce you a brief overview about Python 2.
It is a cross-plattform programming language, which means that a Python program written on a Macintosh computer will run on a Linux operational system and vice versa. Python programs can run on Windows, as long as the Windows computer has the Python interpreter installed.
You can download any Python release for Windows, Mac OS X or Linux/UNIX on the oficial website below:
Download Python Interpreter
Open your Python interpreter or code editor and type the following in order to output your first "Hello World":
>>> print "Hello World"
Hello World
A value is one of the most important things that a software can manipulate. Python has two different data types: number (9, e.g.), which is an integer, and string ("Hello World", e.g.)
>>> print 9
9
>>> print "Hello World"
Hello World
One of the greatest features of a programming language is the power to manipulate variables. An assignment statement creates new variables and provides them values.
>>> message = "My name is Bond, James Bond"
>>> n = 17
>>> pi = 3.14159
The print statement also works with variables:
>>> print message
My name is Bond, James Bond
>>> print n
17
>>> print pi
3.14159
Lists are among the most used data types in Python. Declaring a list is very simple. You just need to insert all the items within brackets [ ] and separate them by commas.
>>> a = [1, 2.2, 'python']
If statement starts with a condition that produces a result if the condition is satisfied. Else produces another result if the condition is not satisfied. In the example below, a simple Python program verifies if a number is positive using if...else statements:
if num >= 0:
print("Positive or Zero")
else:
print("Negative number")


8am - 10pm
1800 258 5656 |
24x7 Support |
FAQs |
Become Our Partner |
RC Transfer Status |
Login/Sign Up
Car Bechni HO, Toh Selling Cars! ::after


%(HeadContent)
We're sorry but knife4j-vue doesn't work properly without JavaScript enabled. Please enable it to continue.


End-to-End SDK Validation
Overview
This test is a full end-to-end validation in which the Prebid Mobile SDK communicates with Prebid Server (using your account and configuration details) and with the primary ad server SDK.
- Ad unit registered
This first step is successful if the Prebid Mobile API call was made to register the ad unit.
- Request to Prebid Server sent
This step is successful if a bid request was sent from Prebid Mobile to Prebid Server.
- Prebid Server response received
This test passes if a bid response was received from Prebid Server.
- Creative content cached
This test passes if the creative content from the bid received from Prebid Server was cached.
- Ad server request sent and Key-value targeting sent
Verifies whether the bid request was sent. (Note: If your ad server is DFP, the request will not be sent if the IDs you entered on the Setup page are incorrect.) Tap this entry to see a list of key-value pairs that were sent with this request.
- Select Prebid Key-Value Pairs to view the specific key-value pairs that were generated by Prebid Mobile and sent to the ad server.
- Select Ad Server Request to view the full ad request sent to the ad server.
- Prebid Mobile creative HTML served
Tap this entry to view:
- Prebid Mobile creative HTML.
- A rendering of the creative returned from the ad server.
Results
Possible outcomes from this test:
Success: This is a full, end-to-end validation of your Prebid Mobile implementation using your Prebid Server account ID and configuration ID. The validation succeeds if every step passes.
Failure: There are many steps throughout this validation. If a problem is encountered at any step, the validation will be marked as failed.
Here are some things to check if this test fails:
- Check all your settings on the Setup screen. In particular, make sure all the IDs you entered are correct and valid.
- Make sure you've configured your ad unit registration correctly.
- Verify that your line items are set up correctly on your ad server.
- Look through your bid request and bid responses (if any). Check the key-value targeting.
- If creatives were returned, view the HTML code and the creatives. The Received Creative and Expected Creative should be identical.
For more detailed troubleshooting, see Dr. Prebid App on Prebid.org.


Welcome to the Shoes Store! We have variety of shoes styles with special prices!
Hello! With this website, you can select the shoes for your special occasions or just for everyday casual use. We have a wide selection of shoes from all around the world and you can buy them at special price!


Paul Vincent C. Ciano
<EMAIL_ADDRESS>To pursue career in web technology as a front end web developer.
Junior Developer, Github 2015
Languages: C#, JavaScript, Python, Ruby, HTML
Frameworks: .NET, Node.js, Django, Ruby on Rails
Bachelor of Science in Information Technology, University of the Cordilleras


Ghanaian Man Sets Record; Marries 3 Wives Same Day At The Same Time
by BB JonesA Ghanaian man by name Osman Hafiz is buzzing the internet after he got married to three women at the same time in Walewale, the capital of the West Mamprusi District in the North East Region of Ghana.
The ceremony which lasted for an hour and a half on Saturday November 23, 2019, saw Hafiz marry Karima, Sikena and Huzaima.
Although polygamy is an accepted form of marriage in Islam, this is the first time we have seen anything of that sort from Ghana and Africa as a whole.
In fact, he is even entitled to another wife per Islamic laws, which limits the number of wives a man can take to four.
The ceremony which lasted for an hour and a half on Saturday November 23, 2019, saw Hafiz marry Karima, Sikena and Huzaima.
See below photos:


Annie Chhoing Dolma
Interview Assistant
Logout
Interviews
Interviewers
Admins
Admin Edit
Profile Picture
Full Name
Email address
Designation
MILF
zz
Generate Password
Deactivate Account


About Me : Sameh Al-Masri
Intorduction
- My name is Sameh Al-Masri i worked as photographer and editor
for more than a 5 years in Studio MASSER,
its the largest and oldest studio in Madaba.
Education
- I have Bachelor degree in Alternative Energy Technology
Faculty of Engineering, Al-Zaytoonah University ,Amman (Jordan)
- I start to study there at 01/10/2015 and graduated at 27/09/2019
Goals
- I would like to learn machine learning and AI related subject
- I would like to be more good as software developer
- I would be able to work hard to be a better me and more developed person
Some of the top movies for me
| Dark knight trilogy |
Lord of the ring trilogy |
Invisible guest |
| Shutter island |
Interstellar |
Inception |
Age of adaline |
Me before you |
Knives out |


WEEK 28 MONDAY
Year 1 (Year 2)
FIRST READING Romans 1:1-7
Through Christ we received grace and apostleship to bring about the obedience of faith among all the nations.
The beginning of the Letter of Saint Paul to the Romans
Paul, a servant of Jesus Christ, called to be an
apostle, set apart for the gospel of God which he promised beforehand through
his prophets in the holy scriptures, the gospel concerning his Son, who was
descended from David according to the flesh and designated Son of God in power
according to the Spirit of holiness by his resurrection from the dead, Jesus
Christ our Lord, through whom we have received grace and apostleship to bring
about the obedience of faith for the sake of his name among all the nations,
including yourselves who are called to belong to Jesus Christ; To all God's
beloved in Rome, who are called to be saints: Grace to you and peace from God
our Father and the Lord Jesus Christ.
The word of the Lord
RESPONSORIAL PSALM
Psalm 98:1.2-3ab.3cd-4 (R. 2a)
R. The Lord has made known his salvation.
O Sing a new song to the LORD, for he has worked wonders.
His right hand and his holy arm have brought salvation.
R. The Lord has made known his salvation.
The LORD has made known his salvation, has shown
his deliverance to the nations. He has remembered his merciful love and his
truth for the house of
R. The Lord has made known his salvation.
All the ends of the earth have seen the salvation
of our God. Shout to the LORD, all the earth; break forth into joyous song, and
sing out your praise.
R. The Lord has made known his salvation.
FIRST READING Galatians 4:22-24.26-27.31-5:1
“We are not children of the slave but of the free woman.”
A reading from the Letter of Saint Paul to the Galatians
Brethren: It is written that Abraham had two sons, one
by a slave and one by a free woman. But the son of the slave was born according
to the flesh, the son of the free woman through promise. Now this is an
allegory: these women are two covenants. One is from
The word of the Lord
RESPONSORIAL PSALM Psalm 113:1b-2.3-4.5a and 6-7 (R. See 2)
R. May the name of the Lord be blest for evermore.
Praise, O servants of the LORD, praise
the name of the LORD! May the name of the LORD be blest both now and for
evermore!
R. May the name of the Lord be blest for evermore.
From the rising of the sun to its setting, praised be the name of the LORD! High above all nations is the LORD,
above the heavens his glory.
R. May the name of the Lord be blest for evermore.
Who is like the LORD, our God, who lowers himself
to look down upon heaven and earth? From the dust he lifts up the lowly, from
the ask heap he raises the poor.
R. May the name of the Lord be blest for evermore.
R. Alleluia. Today, harden not your hearts, but listen to the voice of the Lord. R. Alleluia.
GOSPEL Luke 11:29-32
“No sign will be given to this generation except the sign of Jonah.”
A reading from the holy Gospel according to Luke
At that time: When the crowds were increasing,
Jesus began to say, "This generation is an evil generation; it seeks a
sign, but no sign shall be given to it except the sign of Jonah. For as Jonah
became a sign to the men of
The Gospel of the Lord


{% extends "email_templates/base.html" %} {% block body %}
Hi {{ user.first_name }} {{ user.last_name }},
Please click on the link to verify your email:
If you did not requested to verify email for this site, you can ignore this message.
Good luck! Hope it works.


cppdoc generates HTML documentation from C++ (or other plain-text source files) that make use of the cppdoc commenting convention.
| VOID main(int argc, char* argv[]) |
Descriptioncppdoc driver functionParametersint argc - Number of command-line parameterschar* argv[] - Command-line arguments ReturnsNothingCreated by Digital Reality (11/10/2002) |
| VOID cppdocParse(vector<string>& filelist, string& outputdir, char flags) |
DescriptionPrimary parsing front-end. Sends each file to doParse() function to be fully parsed, then creates the output directory and sends the parsed data to the writeDoc function. Finally, it creates the index.html file.Parametersvector<string>& filelist - List of input filesstring& outputdir - User-specified output directory char flags - Flags generated by command-line switches ReturnsNothingCreated by Digital Reality (11/10/2002) |
| VOID writeDoc(string& outputdir, char flags) |
DescriptionWrites an HTML file for each cppdoc class object and links related classes together.Parametersstring& outputdir - User-specified output directorychar flags - Flags generated by command-line switches ReturnsNothingCreated by Digital Reality (11/10/2002) |
| VOID doParse(ifstream& inFile, char flags) |
DescriptionParses the input file for cppdoc-style comments and stores that information in the classList and funcList vectors. This function is not responsible for any output.Parametersifstream& inFile - Input filechar flags - Flags generated by command-line switches ReturnsNothingCreated by Digital Reality (11/10/2002) |
| string strToUpper(string inStr) |
DescriptionConverts a string to all uppercase letters.Parametersstring inStr - String to convert to uppercaseReturnsstring - inStr, in all capital lettersCreated by Digital Reality (10/10/2002) |
| string strToLower(string inStr) |
DescriptionConverts a string to all lowercase letters.Parametersstring inStr - String to convert to lowercaseReturnsstring - inStr, in all lowercase lettersCreated by Digital Reality (11/8/2002) |
| string stripHTML(string inStr) |
DescriptionStrips the HTML code from a string by converting < to < and & to &. This ensures that < and & will be displayed properly on the web when generated.Parametersstring inStr - String to strip HTML fromReturnsstring - inStr with HTML strippedCreated by Digital Reality (11/8/2002) |
| string trim(string inStr) |
DescriptionRemoves any leading and trailing spaces from a string. Does NOT strip other whitespace.Parametersstring inStr - String to remove leading and trailing spaces fromReturnsstring - inStr with leading and trailing spaces strippedCreated by Digital Reality (11/28/2002) |
| VOID printWrap(string msg, string front) |
DescriptionPrints a string with word-wrapping, and appends each line with the string specified in front. The length of front is taken into account when calculating the string length.Parametersstring msg - The string to printstring front - What to append to each line of the message ReturnsNothingCreated by Digital Reality (11/28/2002) |


affiliation_evoreg.Rd
Affiliation of assemblages based on phylogenetic turnover
affiliation_evoreg(phylo.comp.dist, groups)
| phylo.comp.dist | A distance matrix indicating the phylogenetic (or taxonomic/functional) distance composition among assemblages |
|---|---|
| groups | A character vector indicating the group of each assemblage. This object can be obtained with
|
A list with two matrix, one containing affiliation values and the group in which each cell is classified and the other containing cell coordinates
The function calculates the degree of affiliation of each community to the region (or evoregion), in which that community was classified. If used coupled with a analysis of Principal Coordinates of Phylogenetic Structure (PCPS) to represent the phylogenetic distances the analysis output of the analysis will represent the degree of membership of assemblages to each evoregion, as described in Maestri and Duarte 2020.
Maestri, R and Duarte L.d.S. (2020). Evoregions: Mapping shifts in phylogenetic turnover across biogeographic regions. Methods in Ecology and Evolution, 11, 1652-1662.
if (FALSE) { # First run the classification data(akodon.pa.tree) # occurrence data data(akodon.newick) # phylogenetic tree regions <- evoregions(comm = akodon.pa.tree, phy = akodon.newick) site.region <- regions$Cluster_Evoregions # classification of each community in regions # Now use the phylogenetic composition (PCPS) and classification obtained from evoregion to calculate the membership axis_sel <- which(regions$PCPS$prop_explainded >= regions$PCPS$tresh_dist) # selecting only significant PCPS axis PCPS_thresh <- regions$PCPS$vectors[, axis_sel] # only significant axis dist_phylo_PCPS <- vegan::vegdist(PCPS_thresh, method = "euclidean") # distance matrix based on phylogenetic structure affiliation_evoreg(phylo.comp.dist = dist_phylo_PCPS,groups = regions$Cluster_Evoregions) # affiliation }


This web application is a showcase of the jmcleodfoss pst Java library for extracting information from Microsoft Outlook PST and OST files for Windows systems. This technology may be used to create a customized web service returning XML, JSON, or any other suitable data interchange format.
The following technologies are used in this demonstration application:


{% extends "layout.html" %} {% block body %} Family: None All {% for family in families %} {{ family.family_name }} {% endfor %} Genus: None All Species: None All Source: Humans & Algorithms Algorithms only Humans only {% for user in users %} {{ user.user_username }} {% endfor %} Order by: Image Similarity Date Added Date Collected Limit to: Begin labeling! Click here or press F1 to assign: None None None Junk
None All {% for family in families %} {{ family.family_name }} {% endfor %}
None All
Humans & Algorithms Algorithms only Humans only {% for user in users %} {{ user.user_username }} {% endfor %}
Image Similarity Date Added Date Collected


The option can be selected in the sitefile, per default we do update content prefixed with these comment variables.
input: download  ! output: download  ! default: download  ! input: download  ! output: download  ! default: download  ! input: download  ! output: download  ! default: download  !
This is the preferred method of choosing attribute values depending on variable settings. The value of the attribute is illegal in the source htm file which is usually not a problem. The expansion will either paste the value of the selected variable, or otherwise the default value given after the ":=" setting. The start and end stem from the curly braces, expansion text should generally be short.
The variant expansions can be selected via "?" after the
colon instead of the "=". This syntax derives directly
from shell variable name expansion which knows the two
variants as well ${varname:=default}
and
${varname:?default}
. A similar syntax was
picked up for the updatevars
expansion which updates content text intead of
choosing attribute values.
The variant expansion scheme is never using the direct expansion of expandvars which were hyphenated for toplevel variables ("$title" and "$author") and parenthesed for secondary variables ("$modified" and "$issued"). Such addon texts are never present with with attribvars. Instead they only represent the core functionality of (a) lowercasing any original value and (b) removing any markup from the original value.


This directory contains a project file for Visual C++ (VS.NET 2010 or newer), named freetype.vcxproj, and Visual Studio, called freetype.sln. It compiles the following libraries from the FreeType 2.6 sources:
freetype26.lib - release build freetype26d.lib - debug build freetype26ST.lib - release build; single threaded freetype26STd.lib - debug build; single threaded freetype26MT.lib - release build; multi-threaded freetype26MTd.lib - debug build; multi-threaded
Both Win32 and x64 builds are supported.
Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some .tar.*z archives, be sure to configure your extracting tool to convert the line endings. For example, with WinZip, you should activate the TAR file smart CR/LF Conversion option. Alternatively, you may consider using the unix2dos or u2d utilities that are floating around, which specifically deal with this particular problem.
Build directories are placed in the top-level objs\vc2010 directory.
Customization of the FreeType library is done by editing the ftoptions.h header file in the top-level devel path. Alternatively, you may copy the file to another directory and change the include directory in freetype.users.props.
To configure library dependencies like zlib and libpng, edit the freetype.users.props file in this directory. It also simplifies automated (command-line) builds using msbuild.


floor
, floorf
, ceil
, ceilf
—floor and ceiling#include <math.h> double floor(double x); float floorf(float x); double ceil(double x); float ceilf(float x);
Description
floor
and floorf
find
the nearest integer less than or equal to x.
ceil
and ceilf
find
the nearest integer greater than or equal to x.
Returns
floor
and ceil
return the integer result as a double.
floorf
and ceilf
return the integer result as a float.
Portability
floor
and ceil
are ANSI.
floorf
and ceilf
are extensions.


Threats in the digital world increase considerably every day. Annually the losses of governments and companies are billions of dollars. Cybercrime has become a very profitable business.
Secure Lab is an app that offers advice and recipes of cybersecurity to computer students, software developers and system administrators allowing them to increase the security of their applications, networks and computers.


Border patrol seizes more than 150 pounds of illegal bologna
EL PASO, Texas (WVLT) -- U.S. Customs and Border Protection officers made an unusual seizure Thursday morning.
Border agents seized 14 rolls of Mexican bologna that is prohibited from coming into the U.S.
Mexican bologna is prohibited because it is made from pork and has the potential to introduce foreign animal diseases to the U.S. pork industry.
When the driver was asked what he was bringing from Mexico he said he had frozen rolls of turkey ham. After a second inspection, border officers found 154 pounds of Mexican bologna behind the rear seat.
“It is important that travelers understand they should declare all items they are transporting from abroad to avoid fines and penalties. A properly declared prohibited item can be abandoned at the port without consequence,” CBP El Paso Port Director Beverly Good said in a statement.
Officials said they seized and destroyed the bologna. The driver was later released.


@* * This template is called from the `dishes` template. This template * handles the rendering of the page header and body tags. It takes * two arguments, a `String` for the title of the page and an `Html` * object to insert into the body of the page. *@ @(title: String)(content: Html)
@* Here's where we render the page title `String`. *@


Student List
First Name
Last Name
Age
Gender
Project Interest
First Name
Last Name
Age
Gender
Project Interest


LLVM: llc tool
NAME
llc
SYNOPSIS
llc [options] [filename]
DESCRIPTION
The llc command compiles LLVM bytecode into assembly language for a
specified architecture. The assembly language output can then be passed through
a native assembler and linker to generate native code.
The choice of architecture for the output assembly code is determined as
follows:
-
If the user has specified an architecture with the -m option, use that
architecture.
-
Examine the input LLVM bytecode file:
-
If it specifies little endian and a pointer size of 32 bits, select the
x86 architecture.
-
If it specifies big endian and a pointer size of 64 bit pointers,
select the SparcV9 architecture.
-
If llc was compiled on an architecture for which it can
generate code, select the architecture upon which llc was
compiled.
-
Print a message to the user asking him or her to specify the output
architecture explicitly.
If filename is not specified, or if filename is -, llc reads its input
from standard input. Otherwise, it will read its input from filename.
If the -o option is left unspecified, then llc will send its output to standard
output if the input is from standard input. If the -o option specifies -, then
the output will also be sent to standard output.
If no -o option is specified and an input file other than - is specified, then
llc creates the output filename as follows:
-
If the file ends in .bc, then the .bc suffix is removed, and the .s suffix
is appended.
-
Otherwise, the .s suffix is appended to the input filename.
OPTIONS
- -f
Overwrite output files
- -m<arch>
Specify the architecture for which to generate assembly. Valid
architectures are:
x86
- IA-32 (Pentium and above)
sparc
- SPARC V9
- -o <filename>
Specify the output filename.
- -help
Print a summary of command line options.
- -stats
Print statistics.
- -time-passes
Record the amount of time needed for each pass and print it to standard
error.
X86 Specific Options
- -disable-fp-elim
Disable frame pointer elimination optimization.
- -disable-pattern-isel
Use the 'simple' X86 instruction selector (the default).
- -print-machineinstrs
Print generated machine code.
- -regalloc=<ra>
Specify the register allocator to use. The default is simple.
Valid register allocators are:
simple
- Very simple register allocator
local
- Local register allocator
Sparc Specific Options
- -disable-peephole
Disable peephole optimization pass.
- -disable-preopt
Disable optimizations prior to instruction selection.
- -disable-sched
Disable local scheduling pass.
- -disable-strip
Do not strip the LLVM bytecode included in executable.
- -enable-maps
Emit LLVM-to-MachineCode mapping info to assembly.
EXIT STATUS
If llc succeeds, it will exit with 0. Otherwise, if an error occurs,
it will exit with a non-zero value.
SEE ALSO
lli
Maintained by the LLVM Team.


Had enough of me screaming? Hit your ENTER or click the STFU button.
Sorry for my bad language, please scroll down to the bottom for some sweetass unicorns!
Had enough of me screaming? Hit your ENTER or click the STFU button.
Sorry for my bad language, please scroll down to the bottom for some sweetass unicorns!


We've emailed you instructions for setting up your password. If an account exists with the email you entered,you should receive them shortly.
If you don't receive an email, kindly make sure you entered the email you registered with or check your spam folder


The hip-hop pair have come through to bless fans with their new “Like A Pro” banger. Listen and comment below!


| Top |
| typedef | cairo_t |
| enum | cairo_antialias_t |
| enum | cairo_fill_rule_t |
| enum | cairo_line_cap_t |
| enum | cairo_line_join_t |
| enum | cairo_operator_t |
| cairo_rectangle_t | |
| cairo_rectangle_list_t |
cairo_t is the main object used when drawing with cairo. To
draw with cairo, you create a cairo_t, set the target surface,
and drawing options for the cairo_t, create shapes with
functions like cairo_move_to()
and cairo_line_to()
, and then
draw shapes with cairo_stroke()
or cairo_fill()
.
cairo_t's can be pushed to a stack via cairo_save()
.
They may then safely be changed, without losing the current state.
Use cairo_restore()
to restore to the saved state.
cairo_t *
cairo_create (cairo_surface_t *target
);
Creates a new cairo_t with all graphics state parameters set to
default values and with target
as a target surface. The target
surface should be constructed with a backend-specific function such
as cairo_image_surface_create()
(or any other
cairo_backend_surface_create()
variant).
This function references target
, so you can immediately
call cairo_surface_destroy()
on it if you don't need to
maintain a separate reference to it.
a newly allocated cairo_t with a reference
count of 1. The initial reference count should be released
with cairo_destroy()
when you are done using the cairo_t.
This function never returns NULL
. If memory cannot be
allocated, a special cairo_t object will be returned on
which cairo_status()
returns CAIRO_STATUS_NO_MEMORY
. If
you attempt to target a surface which does not support
writing (such as cairo_mime_surface_t) then a
CAIRO_STATUS_WRITE_ERROR
will be raised. You can use this
object normally, but no drawing will be done.
Since 1.0
cairo_t *
cairo_reference (cairo_t *cr
);
Increases the reference count on cr
by one. This prevents
cr
from being destroyed until a matching call to cairo_destroy()
is made.
The number of references to a cairo_t can be get using
cairo_get_reference_count()
.
Since 1.0
void
cairo_destroy (cairo_t *cr
);
Decreases the reference count on cr
by one. If the result
is zero, then cr
and all associated resources are freed.
See cairo_reference()
.
Since 1.0
cairo_status_t
cairo_status (cairo_t *cr
);
Checks whether an error has previously occurred for this context.
Since 1.0
void
cairo_save (cairo_t *cr
);
Makes a copy of the current state of cr
and saves it
on an internal stack of saved states for cr
. When
cairo_restore()
is called, cr
will be restored to
the saved state. Multiple calls to cairo_save()
and
cairo_restore()
can be nested; each call to cairo_restore()
restores the state from the matching paired cairo_save()
.
It isn't necessary to clear all saved states before
a cairo_t is freed. If the reference count of a cairo_t
drops to zero in response to a call to cairo_destroy()
,
any saved states will be freed along with the cairo_t.
Since 1.0
void
cairo_restore (cairo_t *cr
);
Restores cr
to the state saved by a preceding call to
cairo_save()
and removes that state from the stack of
saved states.
Since 1.0
cairo_surface_t *
cairo_get_target (cairo_t *cr
);
Gets the target surface for the cairo context as passed to
cairo_create()
.
This function will always return a valid pointer, but the result
can be a "nil" surface if cr
is already in an error state,
(ie. cairo_status()
!=
CAIRO_STATUS_SUCCESS
).
A nil surface is indicated by cairo_surface_status()
!=
CAIRO_STATUS_SUCCESS
.
the target surface. This object is owned by cairo. To
keep a reference to it, you must call cairo_surface_reference()
.
Since 1.0
void
cairo_push_group (cairo_t *cr
);
Temporarily redirects drawing to an intermediate surface known as a
group. The redirection lasts until the group is completed by a call
to cairo_pop_group()
or cairo_pop_group_to_source()
. These calls
provide the result of any drawing to the group as a pattern,
(either as an explicit object, or set as the source pattern).
This group functionality can be convenient for performing intermediate compositing. One common use of a group is to render objects as opaque within the group, (so that they occlude each other), and then blend the result with translucence onto the destination.
Groups can be nested arbitrarily deep by making balanced calls to
cairo_push_group()
/cairo_pop_group()
. Each call pushes/pops the new
target group onto/from a stack.
The cairo_push_group()
function calls cairo_save()
so that any
changes to the graphics state will not be visible outside the
group, (the pop_group functions call cairo_restore()
).
By default the intermediate group will have a content type of
CAIRO_CONTENT_COLOR_ALPHA
. Other content types can be chosen for
the group by using cairo_push_group_with_content()
instead.
As an example, here is how one might fill and stroke a path with translucence, but without any portion of the fill being visible under the stroke:
cairo_push_group (cr); cairo_set_source (cr, fill_pattern); cairo_fill_preserve (cr); cairo_set_source (cr, stroke_pattern); cairo_stroke (cr); cairo_pop_group_to_source (cr); cairo_paint_with_alpha (cr, alpha);
Since 1.2
void cairo_push_group_with_content (cairo_t *cr
,cairo_content_t content
);
Temporarily redirects drawing to an intermediate surface known as a
group. The redirection lasts until the group is completed by a call
to cairo_pop_group()
or cairo_pop_group_to_source()
. These calls
provide the result of any drawing to the group as a pattern,
(either as an explicit object, or set as the source pattern).
The group will have a content type of content
. The ability to
control this content type is the only distinction between this
function and cairo_push_group()
which you should see for a more
detailed description of group rendering.
cr |
a cairo context |
|
content |
a cairo_content_t indicating the type of group that will be created |
Since 1.2
cairo_pattern_t *
cairo_pop_group (cairo_t *cr
);
Terminates the redirection begun by a call to cairo_push_group()
or
cairo_push_group_with_content()
and returns a new pattern
containing the results of all drawing operations performed to the
group.
The cairo_pop_group()
function calls cairo_restore()
, (balancing a
call to cairo_save()
by the push_group function), so that any
changes to the graphics state will not be visible outside the
group.
a newly created (surface) pattern containing the
results of all drawing operations performed to the group. The
caller owns the returned object and should call
cairo_pattern_destroy()
when finished with it.
Since 1.2
void
cairo_pop_group_to_source (cairo_t *cr
);
Terminates the redirection begun by a call to cairo_push_group()
or
cairo_push_group_with_content()
and installs the resulting pattern
as the source pattern in the given cairo context.
The behavior of this function is equivalent to the sequence of operations:
cairo_pattern_t *group = cairo_pop_group (cr); cairo_set_source (cr, group); cairo_pattern_destroy (group);
but is more convenient as their is no need for a variable to store the short-lived pointer to the pattern.
The cairo_pop_group()
function calls cairo_restore()
, (balancing a
call to cairo_save()
by the push_group function), so that any
changes to the graphics state will not be visible outside the
group.
Since 1.2
cairo_surface_t *
cairo_get_group_target (cairo_t *cr
);
Gets the current destination surface for the context. This is either
the original target surface as passed to cairo_create()
or the target
surface for the current group as started by the most recent call to
cairo_push_group()
or cairo_push_group_with_content()
.
This function will always return a valid pointer, but the result
can be a "nil" surface if cr
is already in an error state,
(ie. cairo_status()
!=
CAIRO_STATUS_SUCCESS
).
A nil surface is indicated by cairo_surface_status()
!=
CAIRO_STATUS_SUCCESS
.
the target surface. This object is owned by cairo. To
keep a reference to it, you must call cairo_surface_reference()
.
Since 1.2
void cairo_set_source_rgb (cairo_t *cr
,double red
,double green
,double blue
);
Sets the source pattern within cr
to an opaque color. This opaque
color will then be used for any subsequent drawing operation until
a new source pattern is set.
The color components are floating point numbers in the range 0 to
If the values passed in are outside that range, they will be clamped.
The default source pattern is opaque black, (that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).
cr |
a cairo context |
|
red |
red component of color |
|
green |
green component of color |
|
blue |
blue component of color |
Since 1.0
void cairo_set_source_rgba (cairo_t *cr
,double red
,double green
,double blue
,double alpha
);
Sets the source pattern within cr
to a translucent color. This
color will then be used for any subsequent drawing operation until
a new source pattern is set.
The color and alpha components are floating point numbers in the range 0 to 1. If the values passed in are outside that range, they will be clamped.
The default source pattern is opaque black, (that is, it is equivalent to cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0)).
cr |
a cairo context |
|
red |
red component of color |
|
green |
green component of color |
|
blue |
blue component of color |
|
alpha |
alpha component of color |
Since 1.0
void cairo_set_source (cairo_t *cr
,cairo_pattern_t *source
);
Sets the source pattern within cr
to source
. This pattern
will then be used for any subsequent drawing operation until a new
source pattern is set.
Note: The pattern's transformation matrix will be locked to the
user space in effect at the time of cairo_set_source()
. This means
that further modifications of the current transformation matrix
will not affect the source pattern. See cairo_pattern_set_matrix()
.
The default source pattern is a solid pattern that is opaque black, (that is, it is equivalent to cairo_set_source_rgb(cr, 0.0, 0.0, 0.0)).
cr |
a cairo context |
|
source |
a cairo_pattern_t to be used as the source for subsequent drawing operations. |
Since 1.0
void cairo_set_source_surface (cairo_t *cr
,cairo_surface_t *surface
,double x
,double y
);
This is a convenience function for creating a pattern from surface
and setting it as the source in cr
with cairo_set_source()
.
The x
and y
parameters give the user-space coordinate at which
the surface origin should appear. (The surface origin is its
upper-left corner before any transformation has been applied.) The
x
and y
parameters are negated and then set as translation values
in the pattern matrix.
Other than the initial translation pattern matrix, as described
above, all other pattern attributes, (such as its extend mode), are
set to the default values as in cairo_pattern_create_for_surface()
.
The resulting pattern can be queried with cairo_get_source()
so
that these attributes can be modified if desired, (eg. to create a
repeating pattern with cairo_pattern_set_extend()
).
cr |
a cairo context |
|
surface |
a surface to be used to set the source pattern |
|
x |
User-space X coordinate for surface origin |
|
y |
User-space Y coordinate for surface origin |
Since 1.0
cairo_pattern_t *
cairo_get_source (cairo_t *cr
);
Gets the current source pattern for cr
.
the current source pattern. This object is owned by
cairo. To keep a reference to it, you must call
cairo_pattern_reference()
.
Since 1.0
void cairo_set_antialias (cairo_t *cr
,cairo_antialias_t antialias
);
Set the antialiasing mode of the rasterizer used for drawing shapes.
This value is a hint, and a particular backend may or may not support
a particular value. At the current time, no backend supports
CAIRO_ANTIALIAS_SUBPIXEL
when drawing shapes.
Note that this option does not affect text rendering, instead see
cairo_font_options_set_antialias()
.
Since 1.0
cairo_antialias_t
cairo_get_antialias (cairo_t *cr
);
Gets the current shape antialiasing mode, as set by
cairo_set_antialias()
.
Since 1.0
void cairo_set_dash (cairo_t *cr
,const double *dashes
,int num_dashes
,double offset
);
Sets the dash pattern to be used by cairo_stroke()
. A dash pattern
is specified by dashes
, an array of positive values. Each value
provides the length of alternate "on" and "off" portions of the
stroke. The offset
specifies an offset into the pattern at which
the stroke begins.
Each "on" segment will have caps applied as if the segment were a
separate sub-path. In particular, it is valid to use an "on" length
of 0.0 with CAIRO_LINE_CAP_ROUND
or CAIRO_LINE_CAP_SQUARE
in order
to distributed dots or squares along a path.
Note: The length values are in user-space units as evaluated at the
time of stroking. This is not necessarily the same as the user
space at the time of cairo_set_dash()
.
If num_dashes
is 0 dashing is disabled.
If num_dashes
is 1 a symmetric pattern is assumed with alternating
on and off portions of the size specified by the single value in
dashes
.
If any value in dashes
is negative, or if all values are 0, then
cr
will be put into an error state with a status of
CAIRO_STATUS_INVALID_DASH
.
cr |
a cairo context |
|
dashes |
an array specifying alternate lengths of on and off stroke portions |
|
num_dashes |
the length of the dashes array |
|
offset |
an offset into the dash pattern at which the stroke should start |
Since 1.0
int
cairo_get_dash_count (cairo_t *cr
);
This function returns the length of the dash array in cr
(0 if dashing
is not currently in effect).
See also cairo_set_dash()
and cairo_get_dash()
.
Since 1.4
void cairo_get_dash (cairo_t *cr
,double *dashes
,double *offset
);
Gets the current dash array. If not NULL
, dashes
should be big
enough to hold at least the number of values returned by
cairo_get_dash_count()
.
cr |
a cairo_t |
|
dashes |
return value for the dash array, or |
|
offset |
return value for the current dash offset, or |
Since 1.4
void cairo_set_fill_rule (cairo_t *cr
,cairo_fill_rule_t fill_rule
);
Set the current fill rule within the cairo context. The fill rule
is used to determine which regions are inside or outside a complex
(potentially self-intersecting) path. The current fill rule affects
both cairo_fill()
and cairo_clip()
. See cairo_fill_rule_t for details
on the semantics of each available fill rule.
The default fill rule is CAIRO_FILL_RULE_WINDING
.
Since 1.0
cairo_fill_rule_t
cairo_get_fill_rule (cairo_t *cr
);
Gets the current fill rule, as set by cairo_set_fill_rule()
.
Since 1.0
void cairo_set_line_cap (cairo_t *cr
,cairo_line_cap_t line_cap
);
Sets the current line cap style within the cairo context. See cairo_line_cap_t for details about how the available line cap styles are drawn.
As with the other stroke parameters, the current line cap style is
examined by cairo_stroke()
, cairo_stroke_extents()
, and
cairo_stroke_to_path()
, but does not have any effect during path
construction.
The default line cap style is CAIRO_LINE_CAP_BUTT
.
Since 1.0
cairo_line_cap_t
cairo_get_line_cap (cairo_t *cr
);
Gets the current line cap style, as set by cairo_set_line_cap()
.
Since 1.0
void cairo_set_line_join (cairo_t *cr
,cairo_line_join_t line_join
);
Sets the current line join style within the cairo context. See cairo_line_join_t for details about how the available line join styles are drawn.
As with the other stroke parameters, the current line join style is
examined by cairo_stroke()
, cairo_stroke_extents()
, and
cairo_stroke_to_path()
, but does not have any effect during path
construction.
The default line join style is CAIRO_LINE_JOIN_MITER
.
Since 1.0
cairo_line_join_t
cairo_get_line_join (cairo_t *cr
);
Gets the current line join style, as set by cairo_set_line_join()
.
Since 1.0
void cairo_set_line_width (cairo_t *cr
,double width
);
Sets the current line width within the cairo context. The line width value specifies the diameter of a pen that is circular in user space, (though device-space pen may be an ellipse in general due to scaling/shear/rotation of the CTM).
Note: When the description above refers to user space and CTM it
refers to the user space and CTM in effect at the time of the
stroking operation, not the user space and CTM in effect at the
time of the call to cairo_set_line_width()
. The simplest usage
makes both of these spaces identical. That is, if there is no
change to the CTM between a call to cairo_set_line_width()
and the
stroking operation, then one can just pass user-space values to
cairo_set_line_width()
and ignore this note.
As with the other stroke parameters, the current line width is
examined by cairo_stroke()
, cairo_stroke_extents()
, and
cairo_stroke_to_path()
, but does not have any effect during path
construction.
The default line width value is 2.0.
Since 1.0
double
cairo_get_line_width (cairo_t *cr
);
This function returns the current line width value exactly as set by
cairo_set_line_width()
. Note that the value is unchanged even if
the CTM has changed between the calls to cairo_set_line_width()
and
cairo_get_line_width()
.
Since 1.0
void cairo_set_miter_limit (cairo_t *cr
,double limit
);
Sets the current miter limit within the cairo context.
If the current line join style is set to CAIRO_LINE_JOIN_MITER
(see cairo_set_line_join()
), the miter limit is used to determine
whether the lines should be joined with a bevel instead of a miter.
Cairo divides the length of the miter by the line width.
If the result is greater than the miter limit, the style is
converted to a bevel.
As with the other stroke parameters, the current line miter limit is
examined by cairo_stroke()
, cairo_stroke_extents()
, and
cairo_stroke_to_path()
, but does not have any effect during path
construction.
The default miter limit value is 10.0, which will convert joins with interior angles less than 11 degrees to bevels instead of miters. For reference, a miter limit of 2.0 makes the miter cutoff at 60 degrees, and a miter limit of 1.414 makes the cutoff at 90 degrees.
A miter limit for a desired angle can be computed as: miter limit = 1/sin(angle/2)
Since 1.0
double
cairo_get_miter_limit (cairo_t *cr
);
Gets the current miter limit, as set by cairo_set_miter_limit()
.
Since 1.0
void cairo_set_operator (cairo_t *cr
,cairo_operator_t op
);
Sets the compositing operator to be used for all drawing operations. See cairo_operator_t for details on the semantics of each available compositing operator.
The default operator is CAIRO_OPERATOR_OVER
.
Since 1.0
cairo_operator_t
cairo_get_operator (cairo_t *cr
);
Gets the current compositing operator for a cairo context.
Since 1.0
void cairo_set_tolerance (cairo_t *cr
,double tolerance
);
Sets the tolerance used when converting paths into trapezoids.
Curved segments of the path will be subdivided until the maximum
deviation between the original path and the polygonal approximation
is less than tolerance
. The default value is 0.1. A larger
value will give better performance, a smaller value, better
appearance. (Reducing the value from the default value of 0.1
is unlikely to improve appearance significantly.) The accuracy of paths
within Cairo is limited by the precision of its internal arithmetic, and
the prescribed tolerance
is restricted to the smallest
representable internal value.
Since 1.0
double
cairo_get_tolerance (cairo_t *cr
);
Gets the current tolerance value, as set by cairo_set_tolerance()
.
Since 1.0
void
cairo_clip (cairo_t *cr
);
Establishes a new clip region by intersecting the current clip
region with the current path as it would be filled by cairo_fill()
and according to the current fill rule (see cairo_set_fill_rule()
).
After cairo_clip()
, the current path will be cleared from the cairo
context.
The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.
Calling cairo_clip()
can only make the clip region smaller, never
larger. But the current clip is part of the graphics state, so a
temporary restriction of the clip region can be achieved by
calling cairo_clip()
within a cairo_save()
/cairo_restore()
pair. The only other means of increasing the size of the clip
region is cairo_reset_clip()
.
Since 1.0
void
cairo_clip_preserve (cairo_t *cr
);
Establishes a new clip region by intersecting the current clip
region with the current path as it would be filled by cairo_fill()
and according to the current fill rule (see cairo_set_fill_rule()
).
Unlike cairo_clip()
, cairo_clip_preserve()
preserves the path within
the cairo context.
The current clip region affects all drawing operations by effectively masking out any changes to the surface that are outside the current clip region.
Calling cairo_clip_preserve()
can only make the clip region smaller, never
larger. But the current clip is part of the graphics state, so a
temporary restriction of the clip region can be achieved by
calling cairo_clip_preserve()
within a cairo_save()
/cairo_restore()
pair. The only other means of increasing the size of the clip
region is cairo_reset_clip()
.
Since 1.0
void cairo_clip_extents (cairo_t *cr
,double *x1
,double *y1
,double *x2
,double *y2
);
Computes a bounding box in user coordinates covering the area inside the current clip.
cr |
a cairo context |
|
x1 |
left of the resulting extents |
|
y1 |
top of the resulting extents |
|
x2 |
right of the resulting extents |
|
y2 |
bottom of the resulting extents |
Since 1.4
cairo_bool_t cairo_in_clip (cairo_t *cr
,double x
,double y
);
Tests whether the given point is inside the area that would be
visible through the current clip, i.e. the area that would be filled by
a cairo_paint()
operation.
See cairo_clip()
, and cairo_clip_preserve()
.
cr |
a cairo context |
|
x |
X coordinate of the point to test |
|
y |
Y coordinate of the point to test |
Since 1.10
void
cairo_reset_clip (cairo_t *cr
);
Reset the current clip region to its original, unrestricted state. That is, set the clip region to an infinitely large shape containing the target surface. Equivalently, if infinity is too hard to grasp, one can imagine the clip region being reset to the exact bounds of the target surface.
Note that code meant to be reusable should not call
cairo_reset_clip()
as it will cause results unexpected by
higher-level code which calls cairo_clip()
. Consider using
cairo_save()
and cairo_restore()
around cairo_clip()
as a more
robust means of temporarily restricting the clip region.
Since 1.0
void
cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list
);
Unconditionally frees rectangle_list
and all associated
references. After this call, the rectangle_list
pointer must not
be dereferenced.
Since 1.4
cairo_rectangle_list_t *
cairo_copy_clip_rectangle_list (cairo_t *cr
);
Gets the current clip region as a list of rectangles in user coordinates.
Never returns NULL
.
The status in the list may be CAIRO_STATUS_CLIP_NOT_REPRESENTABLE
to
indicate that the clip region cannot be represented as a list of
user-space rectangles. The status may have other values to indicate
other errors.
the current clip region as a list of rectangles in user coordinates,
which should be destroyed using cairo_rectangle_list_destroy()
.
Since 1.4
void
cairo_fill (cairo_t *cr
);
A drawing operator that fills the current path according to the
current fill rule, (each sub-path is implicitly closed before being
filled). After cairo_fill()
, the current path will be cleared from
the cairo context. See cairo_set_fill_rule()
and
cairo_fill_preserve()
.
Since 1.0
void
cairo_fill_preserve (cairo_t *cr
);
A drawing operator that fills the current path according to the
current fill rule, (each sub-path is implicitly closed before being
filled). Unlike cairo_fill()
, cairo_fill_preserve()
preserves the
path within the cairo context.
See cairo_set_fill_rule()
and cairo_fill()
.
Since 1.0
void cairo_fill_extents (cairo_t *cr
,double *x1
,double *y1
,double *x2
,double *y2
);
Computes a bounding box in user coordinates covering the area that
would be affected, (the "inked" area), by a cairo_fill()
operation
given the current path and fill parameters. If the current path is
empty, returns an empty rectangle ((0,0), (0,0)). Surface
dimensions and clipping are not taken into account.
Contrast with cairo_path_extents()
, which is similar, but returns
non-zero extents for some paths with no inked area, (such as a
simple line segment).
Note that cairo_fill_extents()
must necessarily do more work to
compute the precise inked areas in light of the fill rule, so
cairo_path_extents()
may be more desirable for sake of performance
if the non-inked path extents are desired.
See cairo_fill()
, cairo_set_fill_rule()
and cairo_fill_preserve()
.
cr |
a cairo context |
|
x1 |
left of the resulting extents |
|
y1 |
top of the resulting extents |
|
x2 |
right of the resulting extents |
|
y2 |
bottom of the resulting extents |
Since 1.0
cairo_bool_t cairo_in_fill (cairo_t *cr
,double x
,double y
);
Tests whether the given point is inside the area that would be
affected by a cairo_fill()
operation given the current path and
filling parameters. Surface dimensions and clipping are not taken
into account.
See cairo_fill()
, cairo_set_fill_rule()
and cairo_fill_preserve()
.
cr |
a cairo context |
|
x |
X coordinate of the point to test |
|
y |
Y coordinate of the point to test |
Since 1.0
void cairo_mask (cairo_t *cr
,cairo_pattern_t *pattern
);
A drawing operator that paints the current source
using the alpha channel of pattern
as a mask. (Opaque
areas of pattern
are painted with the source, transparent
areas are not painted.)
Since 1.0
void cairo_mask_surface (cairo_t *cr
,cairo_surface_t *surface
,double surface_x
,double surface_y
);
A drawing operator that paints the current source
using the alpha channel of surface
as a mask. (Opaque
areas of surface
are painted with the source, transparent
areas are not painted.)
cr |
a cairo context |
|
surface |
||
surface_x |
X coordinate at which to place the origin of |
|
surface_y |
Y coordinate at which to place the origin of |
Since 1.0
void
cairo_paint (cairo_t *cr
);
A drawing operator that paints the current source everywhere within the current clip region.
Since 1.0
void cairo_paint_with_alpha (cairo_t *cr
,double alpha
);
A drawing operator that paints the current source everywhere within
the current clip region using a mask of constant alpha value
alpha
. The effect is similar to cairo_paint()
, but the drawing
is faded out using the alpha value.
Since 1.0
void
cairo_stroke (cairo_t *cr
);
A drawing operator that strokes the current path according to the
current line width, line join, line cap, and dash settings. After
cairo_stroke()
, the current path will be cleared from the cairo
context. See cairo_set_line_width()
, cairo_set_line_join()
,
cairo_set_line_cap()
, cairo_set_dash()
, and
cairo_stroke_preserve()
.
Note: Degenerate segments and sub-paths are treated specially and provide a useful result. These can result in two different situations:
Zero-length "on" segments set in cairo_set_dash()
. If the cap
style is CAIRO_LINE_CAP_ROUND
or CAIRO_LINE_CAP_SQUARE
then these
segments will be drawn as circular dots or squares respectively. In
the case of CAIRO_LINE_CAP_SQUARE
, the orientation of the squares
is determined by the direction of the underlying path.
A sub-path created by cairo_move_to()
followed by either a
cairo_close_path()
or one or more calls to cairo_line_to()
to the
same coordinate as the cairo_move_to()
. If the cap style is
CAIRO_LINE_CAP_ROUND
then these sub-paths will be drawn as circular
dots. Note that in the case of CAIRO_LINE_CAP_SQUARE
a degenerate
sub-path will not be drawn at all, (since the correct orientation
is indeterminate).
In no case will a cap style of CAIRO_LINE_CAP_BUTT
cause anything
to be drawn in the case of either degenerate segments or sub-paths.
Since 1.0
void
cairo_stroke_preserve (cairo_t *cr
);
A drawing operator that strokes the current path according to the
current line width, line join, line cap, and dash settings. Unlike
cairo_stroke()
, cairo_stroke_preserve()
preserves the path within the
cairo context.
See cairo_set_line_width()
, cairo_set_line_join()
,
cairo_set_line_cap()
, cairo_set_dash()
, and
cairo_stroke_preserve()
.
Since 1.0
void cairo_stroke_extents (cairo_t *cr
,double *x1
,double *y1
,double *x2
,double *y2
);
Computes a bounding box in user coordinates covering the area that
would be affected, (the "inked" area), by a cairo_stroke()
operation given the current path and stroke parameters.
If the current path is empty, returns an empty rectangle ((0,0), (0,0)).
Surface dimensions and clipping are not taken into account.
Note that if the line width is set to exactly zero, then
cairo_stroke_extents()
will return an empty rectangle. Contrast with
cairo_path_extents()
which can be used to compute the non-empty
bounds as the line width approaches zero.
Note that cairo_stroke_extents()
must necessarily do more work to
compute the precise inked areas in light of the stroke parameters,
so cairo_path_extents()
may be more desirable for sake of
performance if non-inked path extents are desired.
See cairo_stroke()
, cairo_set_line_width()
, cairo_set_line_join()
,
cairo_set_line_cap()
, cairo_set_dash()
, and
cairo_stroke_preserve()
.
cr |
a cairo context |
|
x1 |
left of the resulting extents |
|
y1 |
top of the resulting extents |
|
x2 |
right of the resulting extents |
|
y2 |
bottom of the resulting extents |
Since 1.0
cairo_bool_t cairo_in_stroke (cairo_t *cr
,double x
,double y
);
Tests whether the given point is inside the area that would be
affected by a cairo_stroke()
operation given the current path and
stroking parameters. Surface dimensions and clipping are not taken
into account.
See cairo_stroke()
, cairo_set_line_width()
, cairo_set_line_join()
,
cairo_set_line_cap()
, cairo_set_dash()
, and
cairo_stroke_preserve()
.
cr |
a cairo context |
|
x |
X coordinate of the point to test |
|
y |
Y coordinate of the point to test |
Since 1.0
void
cairo_copy_page (cairo_t *cr
);
Emits the current page for backends that support multiple pages, but
doesn't clear it, so, the contents of the current page will be retained
for the next page too. Use cairo_show_page()
if you want to get an
empty page after the emission.
This is a convenience function that simply calls
cairo_surface_copy_page()
on cr
's target.
Since 1.0
void
cairo_show_page (cairo_t *cr
);
Emits and clears the current page for backends that support multiple
pages. Use cairo_copy_page()
if you don't want to clear the page.
This is a convenience function that simply calls
cairo_surface_show_page()
on cr
's target.
Since 1.0
unsigned int
cairo_get_reference_count (cairo_t *cr
);
Returns the current reference count of cr
.
Since 1.4
cairo_status_t cairo_set_user_data (cairo_t *cr
,const cairo_user_data_key_t *key
,void *user_data
,cairo_destroy_func_t destroy
);
Attach user data to cr
. To remove user data from a surface,
call this function with the key that was used to set it and NULL
for data
.
cr |
a cairo_t |
|
key |
the address of a cairo_user_data_key_t to attach the user data to |
|
user_data |
the user data to attach to the cairo_t |
|
destroy |
a cairo_destroy_func_t which will be called when the cairo_t is destroyed or when new user data is attached using the same key. |
CAIRO_STATUS_SUCCESS
or CAIRO_STATUS_NO_MEMORY
if a
slot could not be allocated for the user data.
Since 1.4
void * cairo_get_user_data (cairo_t *cr
,const cairo_user_data_key_t *key
);
Return user data previously attached to cr
using the specified
key. If no user data has been attached with the given key this
function returns NULL
.
Since 1.4
typedef struct _cairo cairo_t;
A cairo_t contains the current state of the rendering device, including coordinates of yet to be drawn shapes.
Cairo contexts, as cairo_t objects are named, are central to cairo and all drawing with cairo is always done to a cairo_t object.
Memory management of cairo_t is done with
cairo_reference()
and cairo_destroy()
.
Since 1.0
Specifies the type of antialiasing to do when rendering text or shapes.
As it is not necessarily clear from the above what advantages a particular
antialias method provides, since 1.12, there is also a set of hints:
CAIRO_ANTIALIAS_FAST
: Allow the backend to degrade raster quality for speed
CAIRO_ANTIALIAS_GOOD
: A balance between speed and quality
CAIRO_ANTIALIAS_BEST
: A high-fidelity, but potentially slow, raster mode
These make no guarantee on how the backend will perform its rasterisation
(if it even rasterises!), nor that they have any differing effect other
than to enable some form of antialiasing. In the case of glyph rendering,
CAIRO_ANTIALIAS_FAST
and CAIRO_ANTIALIAS_GOOD
will be mapped to
CAIRO_ANTIALIAS_GRAY
, with CAIRO_ANTALIAS_BEST
being equivalent to
CAIRO_ANTIALIAS_SUBPIXEL
.
The interpretation of CAIRO_ANTIALIAS_DEFAULT
is left entirely up to
the backend, typically this will be similar to CAIRO_ANTIALIAS_GOOD
.
|
Use the default antialiasing for the subsystem and target device, since 1.0 |
||
|
Use a bilevel alpha mask, since 1.0 |
||
|
Perform single-color antialiasing (using shades of gray for black text on a white background, for example), since 1.0 |
||
|
Perform antialiasing by taking advantage of the order of subpixel elements on devices such as LCD panels, since 1.0 |
||
|
Hint that the backend should perform some antialiasing but prefer speed over quality, since 1.12 |
||
|
The backend should balance quality against performance, since 1.12 |
||
|
Hint that the backend should render at the highest quality, sacrificing speed if necessary, since 1.12 |
Since 1.0
cairo_fill_rule_t is used to select how paths are filled. For both fill rules, whether or not a point is included in the fill is determined by taking a ray from that point to infinity and looking at intersections with the path. The ray can be in any direction, as long as it doesn't pass through the end point of a segment or have a tricky intersection such as intersecting tangent to the path. (Note that filling is not actually implemented in this way. This is just a description of the rule that is applied.)
The default fill rule is CAIRO_FILL_RULE_WINDING
.
New entries may be added in future versions.
|
If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled. (Since 1.0) |
||
|
Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled. (Since 1.0) |
Since 1.0
Specifies how to render the endpoints of the path when stroking.
The default line cap style is CAIRO_LINE_CAP_BUTT
.
Since 1.0
Specifies how to render the junction of two lines when stroking.
The default line join style is CAIRO_LINE_JOIN_MITER
.
|
use a sharp (angled) corner, see
|
||
|
use a rounded join, the center of the circle is the joint point (Since 1.0) |
||
|
use a cut-off join, the join is cut off at half the line width from the joint point (Since 1.0) |
Since 1.0
cairo_operator_t is used to set the compositing operator for all cairo drawing operations.
The default operator is CAIRO_OPERATOR_OVER
.
The operators marked as unbounded modify their destination even outside of the mask layer (that is, their effect is not bound by the mask layer). However, their effect can still be limited by way of clipping.
To keep things simple, the operator descriptions here document the behavior for when both source and destination are either fully transparent or fully opaque. The actual implementation works for translucent layers too. For a more detailed explanation of the effects of each operator, including the mathematical definitions, see
http://cairographics.org/operators/.|
clear destination layer (bounded) (Since 1.0) |
||
|
replace destination layer (bounded) (Since 1.0) |
||
|
draw source layer on top of destination layer (bounded) (Since 1.0) |
||
|
draw source where there was destination content (unbounded) (Since 1.0) |
||
|
draw source where there was no destination content (unbounded) (Since 1.0) |
||
|
draw source on top of destination content and only there (Since 1.0) |
||
|
ignore the source (Since 1.0) |
||
|
draw destination on top of source (Since 1.0) |
||
|
leave destination only where there was source content (unbounded) (Since 1.0) |
||
|
leave destination only where there was no source content (Since 1.0) |
||
|
leave destination on top of source content and only there (unbounded) (Since 1.0) |
||
|
source and destination are shown where there is only one of them (Since 1.0) |
||
|
source and destination layers are accumulated (Since 1.0) |
||
|
like over, but assuming source and dest are disjoint geometries (Since 1.0) |
||
|
source and destination layers are multiplied. This causes the result to be at least as dark as the darker inputs. (Since 1.10) |
||
|
source and destination are complemented and multiplied. This causes the result to be at least as light as the lighter inputs. (Since 1.10) |
||
|
multiplies or screens, depending on the lightness of the destination color. (Since 1.10) |
||
|
replaces the destination with the source if it is darker, otherwise keeps the source. (Since 1.10) |
||
|
replaces the destination with the source if it is lighter, otherwise keeps the source. (Since 1.10) |
||
|
brightens the destination color to reflect the source color. (Since 1.10) |
||
|
darkens the destination color to reflect the source color. (Since 1.10) |
||
|
Multiplies or screens, dependent on source color. (Since 1.10) |
||
|
Darkens or lightens, dependent on source color. (Since 1.10) |
||
|
Takes the difference of the source and destination color. (Since 1.10) |
||
|
Produces an effect similar to difference, but with lower contrast. (Since 1.10) |
||
|
Creates a color with the hue of the source and the saturation and luminosity of the target. (Since 1.10) |
||
|
Creates a color with the saturation of the source and the hue and luminosity of the target. Painting with this mode onto a gray area produces no change. (Since 1.10) |
||
|
Creates a color with the hue and saturation of the source and the luminosity of the target. This preserves the gray levels of the target and is useful for coloring monochrome images or tinting color images. (Since 1.10) |
||
|
Creates a color with the luminosity of
the source and the hue and saturation of the target. This produces an
inverse effect to |
Since 1.0
typedef struct { double x, y, width, height; } cairo_rectangle_t;
A data structure for holding a rectangle.
Since 1.4
typedef struct { cairo_status_t status; cairo_rectangle_t *rectangles; int num_rectangles; } cairo_rectangle_list_t;
A data structure for holding a dynamically allocated array of rectangles.
cairo_status_t |
Error status of the rectangle list |
|
cairo_rectangle_t * |
Array containing the rectangles |
|
Number of rectangles in this list |
Since 1.4


Hide my email
Your email address will be visible to all Archipel users unless you decide to hide it.
NB: Please note that in the event that you interact with a sales agent or their film(s), your email will be made visible to them regardless.
For more information, please refer to our Privacy Policy.


Here is the review of the invitation process:
| Who | Action | Result |
|---|---|---|
| Admin | Create Invitation | Full sync is packed and sent to new member |
| New Member | Receive Invitation | New member receives invitation and designates project location. Project files are recreated. |
Here is the review of the Join process:
| Who | Action | Result |
|---|---|---|
| New Member | Join Project | Join Request script is sent to the Admin |
| Admin | Execute Join Request script | Full Sync script is sent to New Member |
| New Member | Execute Full Sync script | Project files recreated |