This is the final result:
How can anyone turn a 1D to 2D information? The code will explain to you!
The code is structed in two scripts:
+----------------+
| wavetest.py |
+----------------+
|
+----------------+
| lib_wavelet.py |
+----------------+
|
+----------------+ +----------------+
| def wavelet |--| def wave_signif|
+----------------+ +----------------+
|
+----------------+ +----------------+
| def nextpow2 |--| def wave_bases |
+----------------+ +----------------+
Note
The Morlet wavelet is used as default in this code.
Building the puzzle ...
To be called a wavelet, the function (psi) has to satisfy the admissibility condition:
The most popular wavelet function was created by Jean Morlet in 1980, a French research scientist working on seismic data analysis (Farge, 1992),whose complex function satisfied the Heseinberg-type equality. This means the Morlet wavelet allows to analyze the phase and modulus of the decomposed signal (Domingues et al, 2012) and localized time and frequency in the same extent.
In the following, the Morlet wavelet equation proposed by Torrence and Compo (1998) - a plane wave modulated by Gaussian envelope of unit width (Farge, 1992) - Morlet wavelet:
omega_{0} : nondimensional frequency - time/scale resolution is adjust by this param (Maraun and Kurths, 2004)
eta : nondimensional parameter of time
The wavelet scale and the Fourier frequency are not direct reciprocals of each other, so, one has to rescale the result of wavelet analysis with a factor depending on the mother wavelet (Maraun and Kurths, 2004). The normalization for Morlet wavelet (Torrence and Compo, 1998; Maraun and Kurths, 2004):
The Morlet wavelet is only marginally admissible (zero average),so some small correction terms are added (Farge, 1992).In practice, for omega0 (k0 in the code) = 6, s.f = 1 (Maraun and Kurths, 2004).


Remember to configure the RDS_CONNECTION_STRING in Web.config before using.
Get Product by ID
Id:
Add New Product
Id:
Name:
Price:


We have the pleasure of inviting you to submit your technical research works for PEPQA 2017. The 3rd International Workshop on Power Electronics & Power Quality Applications will be held on May 31 June 2, 2017 at Universidad de los Andes, Bogotá, Colombia. A large number of participants will be participating in three days of keynotes, tutorials, handson, papers, paper presentations and forums among new activities designed to improve the collaboration between industry professionals and the academic community
This biannual workshop provides a space for students, academics, and industry professionals to collaborate on meeting the everincreasing power electronics and power quality challenges in the Latin America region. The workshop covers a range of topics, including power electronics (PE) converters, adjustable speed drives, PE in transmission and distribution, power quality (PQ) analysis, PQ design and modeling, and simulation & education in PE/PQ.
Submit your technical research works for PEPQA 2017
- Proceedings are going to be indexed by
IEEE Xplore, and they will be submitted to
SCOPUS and Thompson's Conference Proceedings Citation Index.
- Top papers presented at this Conference will be eligible for review for inclusion in the
IEEE Transactions on Industry Applications or the Industry Applications Magazine.
- Paper submission deadline:
February 27, 2017


Which value of a queue is accessible?
"The front item"
"The top item"
"The root"
"The bottom item"
"The rear item"
"The highest-valued item"
"The lowest-valued item"


Employee
Log out
View All
Create New
Register a motivated, inexperienced and ready-to-work-overtime minimum wage Employee!
First Name
Last Name
Position
Cleaning Staff
Auto-mechanic
Bookkeeper
Owner
Sales Assistant
Gender
Male
Female
Other
Cancel
Create


--- navigation: - text: HOME url: http://transit.land - text: HOW IT WORKS url: http://transit.land/how-it-works/ - text: PLAYGROUND url: / - text: AN OPEN PROJECT url: http://transit.land/an-open-project/ - text: PARTICIPATE url: http://transit.land/participate/ ---


Public Member Functions | |
| abstract JPanel | getInterfaceVisualizer () |
| abstract void | releaseInterfaceVisualizer (JPanel panel) |
| abstract Collection< Element > | getConfigXML () |
| abstract void | setConfigXML (Collection< Element > configXML, boolean visAvailable) |
| void | removed () |
| void | added () |
Static Public Member Functions | |
| static final MoteInterface | generateInterface (Class<?extends MoteInterface > interfaceClass, Mote mote) |
A mote interface represents a mote property. Typically, this is a simulated hardware peripheral such as a button or LEDs. This may also be a property that the mote itself is unaware of, for example the current position of the mote.
Interfaces are the main way for the simulator to interact with a simulated mote.
Each interface can be polled before and after mote ticks. This is controlled by implementing the correct Java interfaces, such as PolledBeforeActiveTicks.
|
inline |
Called when all mote interfaces have been added to mote.
|
inlinestatic |
|
abstract |
Returns XML elements representing the current config of this mote interface. This is fetched by the simulator for example when saving a simulation configuration file. For example an IP interface may return one element with the mote IP address. This method should however not return state specific information such as a log history. (All nodes are restarted when loading a simulation.)
|
abstract |
Returns a panel visualizing this interface. This could for example show last messages sent/received for a radio interface, or logged message for a log interface.
All panels returned from this method must later be released for memory reasons.
This method may return null.
|
abstract |
This method should be called when a visualizer panel is no longer in use. Any resources of that panel, for example registered observers, will be released.
| panel | A interface visualizer panel fetched earlier for this mote interface. |
|
inline |
Called to free resources used by the mote interface. This method is called when the mote is removed from the simulation.
|
abstract |
Sets the current mote interface config depending on the given XML elements.
| configXML | Config XML elements |
| visAvailable | Is this object allowed to show a visualizer? |


ChatManager
class ChatManager
Undocumented
-
Undocumented
Declaration
Swift
static let shared: ChatManager
-
Undocumented
Declaration
Swift
let fStore: Firestore
-
Undocumented
Declaration
Swift
let fStorage: Storage
-
Undocumented
Declaration
Swift
var messageDataListener: ListenerRegistration?
-
Undocumented
Declaration
Swift
var messages: [NSManagedObject] { get set }
-
Fetch all messages for the match partner from the internal memory with core data
Declaration
Swift
func fetchMessages(matchID: String) -> [MockMessage]
Parameters
matchID
The userID of the match partner
Return Value
- mockMessages: All messages as MockMessage
-
Stores the message in firebase at the match partner and at the current user. Additionally the message is stored on the internal memory.
Declaration
Swift
func sendMessage(receiver: String, message: String)
Parameters
receiver
The match user ID
message
The message text
-
Counts all the messages from the match partner
Declaration
Swift
func countUnreadMessages(matchID: String) -> Int
Parameters
matchID
The match user ID
Return Value
- result.count: The count of unread messages as Int
-
Activate the observer to listen for updates in the chat collection in firebase. If a new message is received, it is stored in the internal memory.
Declaration
Swift
func activateObserver(matchID: String)
Parameters
matchID
The matchID to register the listener
-
A Function to save a message on the internal memory
Declaration
Swift
func saveMessage(message: Message)
Parameters
message
The full message
-
Undocumented
See moreDeclaration
Swift
struct Observation
-
Add the ChatObserver to the observer array
Declaration
Swift
func addObserver(_ observer: ChatObserver)
Parameters
observer
The ChatObserver
-
Removes an observer from the observer array
Declaration
Swift
func removeObserver(_ observer: ChatObserver)
Parameters
observer
The ChatObserver


--- layout: post authors: ["Nicolas Limare"] title: Three Non-trivial Use Cases for Git date: 2012-12-15 time: "10:00:00" tags: ["Community"] ---
Today's guest post comes from Nicolas Limare.
Here are three problems I encountered while introducing fellow grad students and post-docs to Git. These are situations where Git seems not to provide the solution we need, either because it requires the addition of an external service provider, unusual configuration steps not adapted to beginners, or simply because the functionality is missing in Git. Or maybe did I just ignore the perfect command or option which would have answered all my wishes?
Two or three people want to work together on a single repository, like they are used to with Subversion. No branch, no pull request, no GitHub, just a shared bare repo on the lab server, cloned and sync'd onto everyone's own laptop via SSH. The problem is to allow proper read/write permissions for everyone. Basic UNIX groups are not practical, for example because they require to go through the local sysadmin for every new project, and to define a new group per project. In that case, my solution is to use POSIX extended ACLs:
setfacl -Rm u:USER:rwX '~/code/project.git' setfacl -Rm d:u:USER:rwX '~/code/project.git'
It is fairly clean, standard, and works perfectly, but these ACLs are usually not enabled by default on filesystems and sysadmins may not want to allow them. Moreover, non-admin users are not used to work with this kind of permissions and having to touch them to collaborate feels somehow abnormal.
I had a group of students working on a shared dataset. One person would produce the input data, and other persons would process them, in chain, each with their own program. Everything is in a Git repo, everyone's program is stored in source code and built with Make, the data is processed in chain with Make too, and so far everything is fine. But the input data is regularly updated, and it's a hundred of 10 Mpixel JPEG images. So the size of the repository quickly becomes quite heavy on everyone's machine (JPEG is already compressed, and doesn't shrink any further in Git, and binary diff of JPEG files is, or was, inefficient).
This huge weight is the problem. We want to keep the history and to be
able to go back to previous versions of the data, but we absolutely
don't want every one in the group to have on their own machine 25
different versions of a 100MB dataset. The solution may be
git annex
, but it didn't exist at this time and it is not part of
the standard Git toolset. It's certainly also possible with git
rebase
and squash
every time the input data is updated, but this
git-fu is too complex for our simple needs.
I was also trying to sell Git as a good solution to replicate files between two machines, either for website or web app deployment, or to maintain a workspace in different places. A sort of improved Rsync, with diff transfers and the full history.
But to do that with Git, pushing updates from one machines to another, the receiving repo needs to automatically perform a checkout. This step requires some hook configuration (this is non-trivial for beginners), and the checkout must be very carefully configured to be performed at the right place, and to behave correctly when some files need to be deleted or local changes overwritten. This is too esoteric for a simple need.


libzypp and zypper were created for SLES 10, a few months after the aquisition by Novell. Novell owned ZENworks and asked engineering to combine it with YaST.


Content-type: text/html
In order to minimize the overhead of connecting with the Hub on each command, vosamp will spawn a proxy process that remains connected to the Hub and will process subsequent commands transparently. This proxy process will timeout after some period of inactivity and may be accessed from remote machines (see below for more information).
The vosamp task accepts the following commands, specified either on the command-line argument list or in interactive mode:
snoop
Print all received messages.
send <mtype> [<args>...]
Generalized message send. The <mtype> parameter can be either one of
the well-known SAMP mtypes or an ad hoc mtype that can be expected to be
recognized by other apps. The <args> parameter refers
to any of the arguments necessary for the specifed mtype. The <args>
may be specified as a sequence of values and will be delivered using
parameter names of the form "argN", to send named parameters the argument
must be specified as "<name>:<value>".
status
Print Hub availability.
list
List all registered clients.
access <appName>
Print <appName> availability. The appName may be specified as either
the public ID or application name.
handle <mtype>
Wait for <mtype> message to be received. This command will subscribe the task
to the specified <mtype> and when it is received will print the contents of
the message to the stdout stream. If the --verbose flag is used the
first value printed will be the sender-id, otherwise the first value will be
the <mtype> followed by the message parameters in the form "<name>=<value>".
Using the --quiet argument will suppress output and simply cause the
task to exit. Use of this command implicitly sets the --nokeepalive
flag.
load <url>
Load the image or table given by <url>. The type of file and the
appropriate SAMP mtype are determined automatically.
loadImage <url>
Load the named image. The image.load.fits mtype will be used for
the message.
loadVOTable <url>
Load the named VOTable. The table.load.votable mtype will be used for
the message.
loadFITS <url>
Load the named FITS bintable. The table.load.fits mtype will be used
for the message.
loadSpec <url>
Load the named spectrum. The spectrum.load.ssa-generic mtype will be
used for the message.
In the above commands, the <url> may be an explicit URI containing an 'http' or 'file' prefix, if a filename or directory path is specified the URL will be constructed internally when sending the message.
pointAt <ra> <dec>
Point at given coords. The <ra> and <dec> parameters are assumed to be ICRS
coordinates in decimal degrees, the coord.pointAt.sky mtype is used.
showRow [<url>] [<id>] <row>
Highlight specified <row> (zero-indexed). The table may be specified using
either a <url> or a table <id> if one was specified at the time the table
was loaded, the table.highlight.row mtype is used.
selectRows [<url>] [<id>] <rows>
Select specified rows. (zero-indexed) The table may be specified using
either a <url> or a table <id> if one was specified at the time the table
was loaded, the table.select.rowList mtype is used. The <rows>
argument is specified as a comma-delimited list of row numbers or ranges,
where ranges are hyphen-delimited strings (e.g. "1,3,5-9,11-15").
bibcode <bibcode>
Load the specified bibcode. The bibcode.load mtype is used.
exec <cmd>
Execute a client command. The <cmd> string is sent to the client unchanged,
it is up to the client to interpret the command properly.
The client.cmd.exec mtype is used.
setenv <name> <value>
Set an environment value. The client.env.set mtype is used.
getenv <name>
Get an environment value. The value of the requested variable is printed.
The client.env.get mtype is used.
setparam <name> <value>
Set a parameter value. The client.param.set mtype is used.
getparam <name>
Get a parameter value. The value of the requested variable is printed.
The client.param.get mtype is used.
In the standard SAMP interaction, and application is required to first register with the Hub before sending or receiving messages. This registration can add significant overhead to an application that may only send a single message, significantly slowing it's use within a scripting environment. Unless the -n (or --nokeepalive) flag is set, the first time VOSAMP is started it will execute the specified command and then fork a child process that stays connected to the Hub. Subsequent VOSAMP calls will simply forward the command to this child proxy process, thereby avoiding a new Hub registration.
The proxy process by default will listen on inet port 3999 (as of this writing there is no option to change it) for new commands, however there is no restriction that the only application that can connect to it must be running on the same host. The -P (or --proxy) flag can be used to specify an alternate proxy to be used; the argument is of the form node [ ':' port ]
where node can be a simple host name, a fully-qualified domain name or and IP address, and port number number is optional. The proxy will run for up to an hour if no new commands are received before disconnecting from the Hub, this timeout value may be changed by using the -T flag to specify the timeout in seconds.
% vosamp load /path/example.xml % vosamp load http://foo.edu/example.xml % vosamp load http://foo.edu/query?RA=0.0&DEC=0.0&SR=0.1
% vosamp -t iraf exec "display dev$pix 1"
% vosamp list
set isHub = `vosamp access Hub` if ($isHub == "no") then echo "No Hub available, quitting ....." exit $status endif
The description of commonly used SAMP mtypes is gen at
http://wiki.ivoa.net/twiki/bin/view/IVOA/SampMTypes


Installation Instructions¶
Note
You must have access to both the Python Google Earth Engine API and Google Drive to use this package.
Installation via PyPI¶
1. From the command line:
$ pip install py-gee-tools
This will install the package from PyPI. Then from python import gee_python_tools
will import the package.
Installation from source¶
1. Clone the repository
$ git clone https://github.com/elbeejay/py_gee_tools
2. From the cloned folder, run the following in the command line:
$ python setup.py install
to install the package. Then from python import gee_python_tools
will import the package.


Thumbnail Scroller
jQuery Plugin
Getting Started
A very customizable jQuery Plugin Scroller, that can be edited from a HTML, JSON or XML files. The scroller is completely resizable and it is compatible with all browsers and devices (compatible with iOS & Android).
If you like this plugin, feel free to rate it five stars at your CodeCanyon account in Downloads section. If you encounter any problems, before rating the item, contact us so we can help you fix them.
Licence
This item is sold under Envato Licences. Please read them and contact Envato Support if you have any questions.
How to use/install it
In sources/index.html you have an example:
1. Copy the folder dopts somewhere on your server (preferably in the same folder as of the page you want to add the scroller to).
2. Add the following CSS and JS files in the <head></head> section of your website:
Note: The files can be anywhere on your server or web. Just make sure that they are loaded by your web page.
3. Add the plugin to a container (HTML tag, class or id):
Example:
You can add the following options to the plugin:
ID (scroller ID - necessary if you use Social Share)
SettingsDataType (JSON, XML, HTML)
SettingsFilePath (path to settings file)
ContentDataType (JSON, XML, HTML)
ContentFilePath (path to content file)
Example:
Note: If no parameters are given, the default values will be automatically set as following:
How to customize it
You will find a JSON example in dopts/json/settings.json and a XML example in dopts/xml/settings.xml.
For HTML, you need to add a list with class Settings:
View Example 3 for an example.
Settings descriptions
General Styles & Settings
-
Width(value in pixels). Default value: 900. Set the width of the scroller.
-
Height(value in pixels). Default value: 128. Set the height of the scroller.")
-
BgColor(color hex code). Default value: ffffff. Set scroller background color.
-
BgAlpha(value from 0 to 100). Default value: 100. Set scroller alpha.
-
BgBorderSize(value in pixels). Default value: 1. Set the size of the scroller border.
-
BgBorderColor(color hex code). Default value: e0e0e0. Set the color of the scroller border.
-
ThumbnailsOrder(normal, random). Default value: normal. Set thumbnails order.
-
ResponsiveEnabled(true, false). Default value: true. Enable responsive layout.
-
UltraResponsiveEnabled(true, false). Default value: false. Enable ultra responsive layout. Resize both width and height. It is a boost to normal response function which you must have enabled.
Thumbnails Styles & Settings
-
ThumbnailsPosition(horizontal, vertical). Default value: horizontal. Set the position of the thumbnails.
-
ThumbnailsBgColor(color hex code). Default value: ffffff. Set the color for the thumbnails background.
-
ThumbnailsBgAlpha(value from 0 to 100). Default value: 0. Set the transparency for the thumbnails background.
-
ThumbnailsBorderSize(value in pixels). Default value: 0. Set the size of the thumbnails border.
-
ThumbnailsBorderColor(color hex code). Default value: e0e0e0. Set the color of the thumbnails border.
-
ThumbnailsSpacing(value in pixels). Default value: 10. Set the space between thumbnails.
-
ThumbnailsMarginTop(value in pixels). Default value: 10. Set the top margin for the thumbnails.
-
ThumbnailsMarginRight(value in pixels). Default value: 0. Set the right margin for the thumbnails.
-
ThumbnailsMarginBottom(value in pixels). Default value: 10. Set the bottom margin for the thumbnails.
-
ThumbnailsMarginLeft(value in pixels). Default value: 0. Set the left margin for the thumbnails.
-
ThumbnailsPaddingTop(value in pixels). Default value: 0. Set the top padding for the thumbnails.
-
ThumbnailsPaddingRight(value in pixels). Default value: 0. Set the right padding for the thumbnails.
-
ThumbnailsPaddingBottom(value in pixels). Default value: 0. Set the bottom padding for the thumbnails.
-
ThumbnailsPaddingLeft(value in pixels). Default value: 0. Set the left padding for the thumbnails.
-
ThumbnailsInfo(none, tooltip, label). Default value: label. Display a small info text on the thumbnails, a tooltip or a label.
Thumbnails Navigation Styles & Settings
-
ThumbnailsNavigationEasing(linear, swing, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInSine, easeOutSine, easeInOutSine, easeInExpo, easeOutExpo, easeInOutExpo, easeInCirc, easeOutCirc, easeInOutCirc, easeInElastic, easeOutElastic, easeInOutElastic, easeInBack, easeOutBack, easeInOutBack, easeInBounce, easeOutBounce, easeInOutBounce). Default value: linear. Set thumbnails navigation easing.
-
ThumbnailsNavigationLoop(true, false). Default value: false. Enable thumbnails loop ... scroll will be disabled.
-
ThumbnailsNavigationMouseEnabled(true, false). Default value: false. Enable thumbnails mouse navigation.
-
ThumbnailsNavigationScrollEnabled(true, false). Default value: false. Enable thumbnails scroll navigation.
-
ThumbnailsScrollPosition(bottom/right, top/left). Default value: bottom/right. Set thumbnails scroll position.
-
ThumbnailsScrollSize(value in pixels). Default value: 5. Set the scroll size color.
-
ThumbnailsScrollScrubColor(color hex code). Default value: 808080. Set the scroll scrub color.
-
ThumbnailsScrollBarColor(color hex code). Default value: e0e0e0. Set the scroll bar color.
-
ThumbnailsNavigationArrowsEnabledtrue, false). Default value: true. Enable thumbnails arrows navigation.
-
ThumbnailsNavigationArrowsNoItemsSlide(number of thumbnails). Default value: 1. The number of thumbnails that will slide when you click the arrows.
-
ThumbnailsNavigationArrowsSpeed(time in miliseconds). Default value: 600. The time the thumbnails will slide after you click the arrows.
-
ThumbnailsNavigationPrev(path to image). Upload the image for thumbnails navigation's previous button.
-
ThumbnailsNavigationPrevHover(path to image). Upload the image for thumbnails navigation's previous hover button.
-
ThumbnailsNavigationPrevDisabled(path to image). Upload the image for thumbnails navigation's previous disabled button.
-
ThumbnailsNavigationNext(path to image). Upload the image for thumbnails navigation's next button.
-
ThumbnailsNavigationNextHover(path to image). Upload the image for thumbnails navigation's next hover button.
-
ThumbnailsNavigationNextDisabled(path to image). Upload the image for thumbnails navigation's next disabled button.
Styles & Settings for a Thumbnail
-
ThumbnailLoader(path to image). Set the loader for the thumbnails.
-
ThumbnailWidth(the size in pixels). Default value: 100. Set the width of a thumbnail.
-
ThumbnailHeight(the size in pixels). Default value: 100. Set the height of a thumbnail.
-
ThumbnailAlpha(value from 0 to 100). Default value: 100. Set the transparency of a thumbnail.
-
ThumbnailAlphaHover(value from 0 to 100). Default value: 100. Set the transparency of a thumbnail when hover.
-
ThumbnailBgColor(color hex code). Default value: f1f1f1. Set the color of a thumbnail's background.
-
ThumbnailBgColorHover(color hex code). Default value: f1f1f1. Set the color of a thumbnail's background when hover.
-
ThumbnailBorderSize(value in pixels). Default value: 1. Set the size of a thumbnail's border.
-
ThumbnailBorderColor(color hex code). Default value: d0d0d0. Set the color of a thumbnail's border.
-
ThumbnailBorderColorHover(color hex code). Default value: 303030. Set the color of a thumbnail's border when hover.
-
ThumbnailPaddingTop(value in pixels). Default value: 2. Set top padding value of a thumbnail.
-
ThumbnailPaddingRight(value in pixels). Default value: 2. Set right padding value of a thumbnail.
-
ThumbnailPaddingBottom(value in pixels). Default value: 2. Set bottom padding value of a thumbnail.
-
ThumbnailPaddingLeft(value in pixels). Default value: 2. Set left padding value of a thumbnail.
Lightbox Styles & Settings
-
LightboxDisplayTime(time in miliseconds). Default value: 600. The time the lightbox will be displayed.
-
LightboxWindowColor(color hex code). Default value: ffffff. Set the color for the lightbox window.
-
LightboxWindowAlpha(value from 0 to 100). Default value: 80. Set the transparency for the lightbox window.
-
LightboxLoader(path to image). Set the loader for the lightbox image.
-
LightboxBgColor(color hex code). Default value: ffffff. Set the color for the lightbox background.
-
LightboxBgAlpha(value from 0 to 100). Default value: 100. Set the transparency for the lightbox background.
-
LightboxBorderSize(value in pixels). Default value: 1. Set the size of a lightbox's border.
-
LightboxBorderColor(color hex code). Default value: e0e0e0. Set the color of a lightbox's border.
-
LightboxCaptionTextColor(color hex code). Default value: 999999. Set the color for the lightbox caption.
-
LightboxMarginTop(value in pixels). Default value: 30. Set top margin value for the lightbox.
-
LightboxMarginRight(value in pixels). Default value: 30. Set right margin value for the lightbox.
-
LightboxMarginBottom(value in pixels). Default value: 30. Set bottom margin value for the lightbox.
-
LightboxMarginLeft(value in pixels). Default value: 30. Set top left value for the lightbox.
-
LightboxPaddingTop(value in pixels). Default value: 10. Set top padding value for the lightbox.
-
LightboxPaddingRight(value in pixels). Default value: 10. Set right padding value for the lightbox.
-
LightboxPaddingBottom(value in pixels). Default value: 10. Set bottom padding value for the lightbox.
-
LightboxPaddingLeft(value in pixels). Default value: 10. Set left padding value for the lightbox.
Lightbox Navigation Icons Styles & Settings
-
LightboxEnabled(true, false). Default value: true. Enable the lightbox.
-
LightboxNavigationPrev(path to image). Upload the image for lightbox navigation's previous button.
-
LightboxNavigationPrevHover(path to image). Upload the image for lightbox navigation's previous hover button.
-
LightboxNavigationNext(path to image). Upload the image for lightbox navigation's next button.
-
LightboxNavigationNextHover(path to image). Upload the image for lightbox navigation's next hover button.
-
LightboxNavigationClose(path to image). Upload the image for lightbox navigation's close button.
-
LightboxNavigationCloseHover(path to image). Upload the image for lightbox navigation's close hover button.
-
LightboxNavigationInfoBgColor(color hex code). Default value: ffffff. Set the color for the lightbox info background.
-
LightboxNavigationInfoTextColor(color hex code). Default value: c0c0c0. Set the color for the lightbox info text.
-
LightboxNavigationDisplayTime(time in miliseconds). Default value: 600. The time the lightbox navigation will be displayed.
-
LightboxNavigationTouchDeviceSwipeEnabled(true, false). Default value: true. Enable swipe lightbox navigation on touch devices.
Social Share Styles & Settings
-
SocialShareEnabled(true, false). Default value: true. Enable AddThis Social Share.
-
SocialShareLightbox(path to image). Upload the image for lightbox social share button.
Tooltip Styles & Settings
-
TooltipBgColor(color hex code). Default value: ffffff. Set tooltip background color.
-
TooltipStrokeColor(color hex code). Default value: 000000. Set tooltip stroke color.
-
TooltipTextColor(color hex code). Default value: 000000. Set tooltip text color.
Label Styles & Settings
-
LabelPosition(bottom, top, under). Default value: bottom. Set label position.
-
LabelAlwaysVisible(true, false). Default value: false. On true the label is always visible, on false it will be visible only on hover.
-
LabelUnderHeight(the size in pixels). Default value: 50. Set the height only for the label under a thumbnail.
-
LabelBgColor(bottom, top). Default value: bottom. Set label position.
-
LabelBgAlpha(value from 0 to 100). Default value: 80. Set label background transparency.
-
LabelTextColor(color hex code). Default value: ffffff. Set label text color.
Slideshow Settings
-
SlideshowEnabled(true, false). Default value: false. Enable or disable the slideshow.
-
SlideshowTime(time in miliseconds). Default: 5000. How much time a thumbnail stays until it passes to the next one.
-
SlideshowLoop(true, false). Default: false. Set it to true if you don't want the slideshow to stop when it reaches the last thumbnail.
How to add content
You have a JSON example in dopts/json/content.json and a XML example in dopts/xml/content.xml.
For HTML, you need to add a list with class Content:
View Example 3 for an example.
Content description
-
ImageAdd path to image (mandatory).
-
ThumbAdd path to thumbnail (mandatory).
-
TitleAdd caption title.
-
CaptionAdd caption text.
-
MediaAdd media (HTML, Flash, YouTube, Vimeo, etc.).
IMPORTANT
For Media make sure that all the code is in one html tag. Iframe embedding code will work :).
-
LightboxMediaAdd media that will be displayed in the lightbox.
-
LinkAdd a link to thumbnail. Add none to remove thumbnail events.
-
TargetThe target the link opens in.
FAQ
-
1. Why does not the gallery appear in my website?
1. The plugin files are not loaded on your page.
2. If the gallery does not appear, it might be because there is a problem with the JavaScript in your website. If you cannot identify the problem, contact us, including in the message a link to the page where the problem appears. We will identify and fix the issue for you. However, we will not fix the problems that are not caused by this plugin. -
2. How do I remove rounded corners from thumbnails & images?
Open file dopts/http://envato-help.dotonpaper.net/assets/gui/css/jquery.dop.ThumbnailScroller.css in an editor and change or remove border-radius properties.
How to update
Latest Version: 1.6
Please note:
Make a backup of folder dopts from your web server.
To update the Plugin, login to CodeCanyon, head over to your Downloads section and re-download the plugin like you did when you bought it.
Extract the zip's contents, look for the sources/dopts folder, and after you have all the new files upload them using FTP to the your web server folder overwriting the old ones (this is why it's important to backup any changes you've made to the plugin files).
After, you add the settings and content files from the backup you did earlier.
If you didn't make any changes to the plugin files, you are free to overwrite them with the new ones without the risk of losing any plugins settings, and backwards compatibility is guaranteed.
Changelog
-
Version 1.6 - 05 May 2013
- New Features:
- 2 responsive levels added
- Bug Fixes:
- SEO fixes.
- Responsive Media bug fix.
- AddThis fixed.
-
Version 1.5
- New Features:
- Social Share added.
- You have the option to add the label under the thumbnail.
- Bug Fixes:
- Scroller resize on hidden elements bug fix.
-
Version 1.4
- New Features:
- Remove lightbox margins on mobile devices.
- Bug Fixes:
- Lightbox display bug on Chrome is fixed.
- * Small bugs fixes.
-
Version 1.3
- New Features:
- Loop added.
- Mouse navigation speed change added.
- Responsive layout added.
- Bug Fixes:
- Minor bugs fixes.
-
Version 1.2
- New Features:
- Add/Edit content/settings from a HTML, JSON or XML file.
- Caption allows all characters.
- Display thumbnails at random.
- Lightbox added.
- Navigation buttons are now images.
- Scroll Bar added.
- Thumbnails position changes to show current item thumbnail.
- You can add HTML to thumbnails.
- You can HTML, Flash, Youtube & Vimeo videos.
- Bug Fixes:
- IE 8 thumbnails resize fix.
- Other small bug fixes.
-
Version 1.1
- New Features:
- Use one finger on touchscreen devices to navigate through the thumbnails.
-
Version 1.0 - 16 March 2011
- Initial release.
Assets
-
Images
Credits & Licence:
-
jScrollPane (jQuery Plugin)
Version: 2.0
Link: jscrollpane.kelvinluck.com
Author: Kelvin Luck
Licence: Dual licensed under the MIT and GPL licenses. -
Mousewheel (jQuery Plugin)
Version: 3.0.6
Link: www.brandonaaron.net/code/mousewheel/docs
Author: Brandon Aaron
Licence: Released under MIT license.
Support
If you did not find the answer you were looking for in the given documentation, please access our Support Forums. If you cannot find the answer to your issue, post a new topic, describing the problem you are having. Please add in your message a link to where you use the item or any other stuff that might be relevant (don’t include any passwords or any confidential information).
Note:
On our Support Forums you need to login and confirm the Item Purchase Code for the item you need help with.
Work time:
07:00 (07:00 AM) – 16:00 (04:00 PM) GMT | Working days only (Monday – Friday)
We do NOT provide support in comments section. Please use it for presale questions only.
Disclaymer
If you buy an Envato item, according to Envato rules, you are not entitled to support or free customizations.
WE WILL OFFER FREE SUPPORT only for bugs, item related issues and very small modifications(a few minutes of work). Everything else will be considered as custom work, for which we charge $35/hour.
Offering support will help us improve and fix the bugs in our products and a great way to do this is to see what problem appear when people use them.
If your request for a feature has been made by other people is it possible, but not a rule, to add that feature in a future update. Please don't buy the item if a feature doesn't exist and you need it. We will not add it for you in record time. If you are not sure if the feature exists please ask first.
PS: Do not forget to rate this item .


* added .html and .htm sample files to example for DOCmerge tool
* added C2PasFilter, a tool that helps in converting source code expressions from C to Object Pascal / Delphi (useful when manually converting header files, had been developed for the JEDI QuickTime project)
* fixed download links for DOCmerge, PPTmerge and XSLer tools
* source code repository is now at http://github.com/zoomicon/tranXform
* website is now at http://zoomicon.github.io/tranXform (last part of the URL is case-sensitive), pulled from "docs" folder of the source repository
* updated DOCmerge tool to accept .DOCX files too when flag that accepts only Word document format is set in script. Now producing .DOCX instead of .DOC file (settable in script)
* updated PPTmerge tool to accept .PPTX files too when flag that accepts only PowerPoint document format is set in script. Now producing .PPTX instead of .PPT file (settable in script)
* updated VB6FormToWebForm tool to work with MDI forms and newer MSXML runtime (which only supports "or" and not "|" anymore in XSL/XPath expressions)
* added ResX_WordCount tool to count words in .RESX resource files
* updated XSLTransform tool to work with newer MSXML runtime (which had done breaking changes regarding XSL transformations)
* using correct link for CleanTextFilter (DOS filter - converts control characters to space chars)
* updated PPTmerge tool (merges multiple PowerPoint presentations) to work with PowerPoint 2010 and support drag-drop of folder on script to merge all .PPT files in it into a single presentation
* added TextCaseConvertion tool - simple GUI to convert string to upper-case, lower-case and camel-case
* added CharConv tool - Windows and Microsoft Word GUI for Text transformation given character set mapping (from/to) and calculation of mapping given matching (portions of) source and target text (useful for decyphering copy-pasted text from PDF documents that ends-up with strange character swaps in it due to encoding reasons)
* added Dos2Unix DOS filter - converts CRLF (Dos/Windows style) to LF (Unix style) for text ending line markers
* added Unix2Dos DOS filter - converts LF (Unix style) to CRLF (Dos/Windows style) for text ending line markers
* added CleanTextFilter DOS filter - converts control characters to space chars
* added TemplateFilter DOS filter - parses CSV-style multi-column (";" separator) input text rows (one row per text line) and generates text based on a supplied template that is applied per input row
* Zoomicon.com is now on Twitter (follow us for short news/updates): twitter.com/Zoomicon
28Oct2009
* updated PPTmerge tool - merges multiple PowerPoint presentations
* added DOCmerge tool - merges multiple Word documents
* added MultiChoice tool - generates multiple-choice Word documents from a list of questions in an Excel spreadsheet
* added SitemapGen tool - generates web site maps
* added DocGen tool - generates documents based on Word templates, filling in data from an Excel spreadsheet
* Technology placed under the umbrella of Zoomicon.com
12Dec2007* added PPTmerge tool
4Jun2006* moved website to http://tranXform.onestop.net because the FortuneCity host took it too far with the ads (especally with ads that posed a security or privacy risk to visitors)
1Nov2004* uploaded new version of tool Java2XML (added the missing XML.java and StringUtils.java files)
19Aug2004* uploaded new version of VB6FormToWebForm, previous one had a bad comment char in the WebForm.XSL file and was failing when trying to transform a VB6 form design to an ASP.net webpage (ASPX)
18Aug2004
* uploaded new version of VBFormDesignToXML to not have hardcoded ISO-8859-7 encoding, but use ISO-8859-1 as default XML file encoding and have optional encoding parameter at the command-line (Greek text in the included form sample won't show OK in the resulting HTML, since I also edited the example batch files to use ISO-8859-1)
* uploaded new version of VB6FormToWebForm, using ISO-8859-1 instead of ISO-8859-7
* added tool: Java2XML (describe in XML a Java class using Reflection and also create XML out of Java ResourceBundle contents)
5Feb2003* uploaded new version of tool: VB6FormToWebForm
3Feb2003* uploaded new version of tool: VB6FormToWebForm
22Jan2003* uploaded new version of tool: VB6FormToWebForm
21Jan2003* uploaded new version of tool: VB6FormToWebForm
1Jan2003
* uploaded new tool: ReplaceFilter (a standalone alternative for the "Replace.vbs" WSH script)
* uploaded new version of tool: VB6FormToWebForm
* uploaded new version of tool: VB6FormToWebForm
12Dec2002* uploaded new version of tool: VB6FormToWebForm
10Dec2002
* uploaded new tool: VBFormCodeFilter
* uploaded new versions of tools: VBFormDesignToXML, VB6FormToWebForm
* created this web site, using the logo "tranXform"!
* uploaded tools: Replace, XSLer, XSLTransform, VBFormDesignFilter, VBFormDesignToXML, VB6FormToWebForm


Error: Cipher was unable to start. Please ensure that all dependencies are installed, then try again.
Dependencies:


this is demo of paranimator(page1)
this is demo of paranimator(page2)
this is demo of paranimator(page3)
this is demo of paranimator(page4)


[full example]namespace example.weather
service Weather {
version: "2006-03-01",
resources: [City],
operations: [GetCurrentTime]
}
resource City {
identifiers: { cityId: CityId },
read: GetCity,
list: ListCities,
resources: [Forecast],
}
Smithy is designed to work with any programming language, describe services running in any environment, and work with any kind of transport or serialization format.
Smithy models can be extended through traits. There are many built-in traits to affect things like behavior and serialization, and custom traits can be added for additional functionality.
Customizable standards and validation constraints ensure that APIs adhere to any kind of standard or convention. Rule sets can be shared and applied to all APIs in an organization.
Smithy is defined in terms of resources and operations you can enact on them. Explicitly defining resources provides rich metadata about an API that can be used to build higher-level client tooling and derive artifacts from a model.
Smithy is based on an interface definition language that has been widely used within Amazon and AWS for over a decade. We decided to release Smithy publicly to let other developers use Smithy for their own services and benefit from our years of experience with building tens of thousands of services. By releasing the Smithy specification and tooling, we also hope to make it easier for developers to maintain open source AWS SDKs.
No. Smithy can be used with any kind of service. In fact, all AWS-specific metadata in Smithy is loaded using additional packages.
At AWS, we rely heavily on metadata, code generation, service frameworks, client libraries, and automated policy enforcement. Existing IDLs available outside of AWS were not extensible enough to meet our needs and not compatible with our existing services.
Smithy is built for code generation and tools. Smithy models were designed for the purpose of generating code for multiple programming languages. For example, Smithy models are completely normalized, which gives all generated types an explicit name and makes models easy to traverse, validate, and diff.
Smithy can be extended and constrained. Traits are used to extend a model and add capabilities that are not part of the core specification. For example, AWS defines AWS-specific traits that are used to generate other metadata documents that are derived from Smithy models. While extensibility is a key design requirement, Smithy provides a built-in validation system that ensures models adhere to a configurable set of rules and policies.
Smithy is protocol agnostic. Smithy decouples the transport layer of web services from the data structures and capabilities of the service so that they can evolve independently.
Smithy helps large organizations collaborate on APIs. Smithy allows different aspects of a model to be owned by different teams. We use this feature at AWS to allow the documentation teams to own API documentation, while service owners control the shape and operations of a service.
Smithy models can be altered for different audiences. Smithy's projection system allows the contents of a model to be filtered and changed based on who a particular build of a model is intended for. This allows for use cases like maintaining an internal and external version of a model and providing beta models to customers as part of a private beta.
The primary difference between Smithy and OpenAPI is that Smithy is protocol-agnostic, allowing Smithy to describe a broader range of services, metadata, and capabilities.
Protocol-agnostic means that the model is an abstraction that specifies the rules and semantics of how a client and server communicate. The transport and serialization format of a service is left as an implementation detail, allowing them to evolve over time. For example, a service owner may wish to evolve their serialization format (e.g., move from text to binary), their connection type (e.g., move from HTTP/1 to HTTP/2), or launch entirely new capabilities.


{% extends "layout.html" %} {% block content %}
Webfriends will be offline until this gets fixed, so it would be helpful if you clicked here and sent me an email.


Register
First Name:
Last Name:
Male
Female
Other
Email:
Password:
Birthday:
Month
June
July
August
Day
29
30
31
Year
1980
1981
1982
I agree to the terms and conditions:
Submit!


WITNESS LIST Urban Affairs Committee October 7, 1998-10:00A TDHCA On: Gaines, David (TDHCA) Marks, Betty J. (TDHCA) Stiner, Daisy (TDHCA) TSAHC For: Sullivan, Michael A. (TSAHC) On: Currie, Don (TSAHC) TX Commission on Fire Protection On: Thompson, Thomas R. (TX Comm on Fire Protect) Warren, Gary L., Sr. (TX Comm on Fire Protect) Registering, but not testifying: On: Munoz, Ana R. (TX Comm on Fire Protect)


--- layout: post title: Testing preview of Ruby 1.8.4 with Rails categories: - sightings author: David published: true date: 2005-12-22 20:36:55.000000000 +00:00 ---
The release of Ruby 1.8.4 is drawing close. We’d love to be compatible out the gates, so please do help by testing your application with the latest preview. RedHanded has instructions on how to go about the compilation.


Minh's Notes:
Lesson 1: Basic Web Info & HTML
World Wide Web (WWW)
- HTML (Hypertext Markup Language) is main type of document on the World Wide Web
- All types of files can be found (i.e. plain text, html, video, images, music)
Major Pieces of the Web
- Computers run Web Browsers (i.e. Chrome, IE, Firefox, Safari) that uses HTTP (Hypertext Transport Protocol) protocol to communicate on the Internet to access resources/data on Web Servers
HTML (Hypertext Markup Language)
- HTML is made up of text (what you see), markup (what it looks like), and certain references if any (e.g. images, videos, or other docs)
- HTML is comprised of structure with components called "tags"
- A complete HTML structure of a tag can be referenced as "element," with an opening tag and a corresponding closing tag
- Link to good video explanation
here
Computers are Stupid
- Computers literally have to take instructions from what programmers give to them in code
- Small mistakes can lead to huge problems when given to "Stupid" computers
Inline vs Block
- Certain tags are considered inline tags (i.e. break tags, emphasis tags, and image tags) which end the line while block tags (i.e. paragraph tags) place a virtual box surrounding the content
Lesson 2: Creating Structured Documents with HTML
"Tree-Like Structure" of HTML
- HTML code can be seen as a tree-like structure due to fact that HTML elements can have other elements inside them forming "nested" boxes
- The more nested the HTML elements, the deeper the code can be viewed with deeper indentations
Tools Programmers Use to Write HTML Code
- Text editing programs (i.e. Sublime Text) make life easier for programmers
- Scratchpad.io text editor is great for immediate feedback and small projects
- Codepen.io text editor is great for sharing projects to the public or with others
- Sublime Text editor is more powerful with advanced features and versatile for larger projects
Lesson 3: Adding CSS Style & HTML Structure
What is CSS?
- Cascading Style Sheets (CSS) is code written to control "styles" of HTML elements
- "Cascading" means the most specific rule that describes the element that gets applied
- Inheritance is important concept and key feature in CSS by which properties are applied not only to specific elements, but also its descendants
- Several CSS files or sheets can be referenced in HTML
How to Include CSS Styling in a Web Page?
- Method 1: Write CSS in the (head) of HTML
- Method 2: Link your HTM to separate CSS file (most likely method)
- Method 3: Write CSS Style Inline with HTML
The Box Model and Positioning of Boxes
- CSS has structure in relation to boxes for efficient design and layout
- The Box Model consists of Margin, Border, Padding, and Content
- The size of your HTML element is the sum of Border, Padding, and Content
- DIVs are Block elements, so by default they take up the entire width of a page
- Adding rule display: flex to appropriate CSS will override the above behavior and let DIVs appear next to each other
Code, Test, Refine
1. Look for Natural Boxes
2. Look for Repeated Styles and Semantic Elements
3. Write your HTML
4. Apply Styles (From Biggest to Smallest)
5. Fix Things


Microdata
First name
Harry
Age
38
First name
Person with same age as bridge
Age
129
Name
Forth bridge
Age
129
Architects
Name
John Fowler
Age
222


Graphics routines
- Colors
- Locking and pixel formats
- Bitmap creation
- Bitmap properties
- Drawing operations
- al_clear_to_color
- al_draw_bitmap
- al_draw_tinted_bitmap
- al_draw_bitmap_region
- al_draw_tinted_bitmap_region
- al_draw_pixel
- al_draw_rotated_bitmap
- al_draw_tinted_rotated_bitmap
- al_draw_scaled_rotated_bitmap
- al_draw_tinted_scaled_rotated_bitmap
- al_draw_tinted_scaled_rotated_bitmap_region
- al_draw_scaled_bitmap
- al_draw_tinted_scaled_bitmap
- al_get_target_bitmap
- al_put_pixel
- al_put_blended_pixel
- al_set_target_bitmap
- al_set_target_backbuffer
- al_get_current_display
- Blending modes
- Clipping
- Graphics utility functions
- Deferred drawing
- Image I/O
These functions are declared in the main Allegro header file:
#include <allegro5/allegro.h>
Colors
ALLEGRO_COLOR
typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
An ALLEGRO_COLOR structure describes a color in a device independent way. Use al_map_rgb et al. and al_unmap_rgb et al. to translate from and to various color representations.
al_map_rgb
ALLEGRO_COLOR al_map_rgb(
unsigned char r, unsigned char g, unsigned char b)
Convert r, g, b (ranging from 0-255) into an ALLEGRO_COLOR, using 255 for alpha.
See also: al_map_rgba, al_map_rgba_f, al_map_rgb_f
al_map_rgb_f
ALLEGRO_COLOR al_map_rgb_f(float r, float g, float b)
Convert r, g, b, (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR, using 1.0f for alpha.
See also: al_map_rgba, al_map_rgb, al_map_rgba_f
al_map_rgba
ALLEGRO_COLOR al_map_rgba(
unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Convert r, g, b, a (ranging from 0-255) into an ALLEGRO_COLOR.
See also: al_map_rgb, al_map_rgba_f, al_map_rgb_f
al_map_rgba_f
ALLEGRO_COLOR al_map_rgba_f(float r, float g, float b, float a)
Convert r, g, b, a (ranging from 0.0f-1.0f) into an ALLEGRO_COLOR.
See also: al_map_rgba, al_map_rgb, al_map_rgb_f
al_unmap_rgb
void al_unmap_rgb(ALLEGRO_COLOR color,
unsigned char *r, unsigned char *g, unsigned char *b)
Retrieves components of an ALLEGRO_COLOR, ignoring alpha Components will range from 0-255.
See also: al_unmap_rgba, al_unmap_rgba_f, al_unmap_rgb_f
al_unmap_rgb_f
void al_unmap_rgb_f(ALLEGRO_COLOR color, float *r, float *g, float *b)
Retrieves components of an ALLEGRO_COLOR, ignoring alpha. Components will range from 0.0f-1.0f.
See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgba_f
al_unmap_rgba
void al_unmap_rgba(ALLEGRO_COLOR color,
unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a)
Retrieves components of an ALLEGRO_COLOR. Components will range from 0-255.
See also: al_unmap_rgb, al_unmap_rgba_f, al_unmap_rgb_f
al_unmap_rgba_f
void al_unmap_rgba_f(ALLEGRO_COLOR color,
float *r, float *g, float *b, float *a)
Retrieves components of an ALLEGRO_COLOR. Components will range from 0.0f-1.0f.
See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgb_f
Locking and pixel formats
ALLEGRO_LOCKED_REGION
typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
Users who wish to manually edit or read from a bitmap are required to lock it first. The ALLEGRO_LOCKED_REGION structure represents the locked region of the bitmap. This call will work with any bitmap, including memory bitmaps.
typedef struct ALLEGRO_LOCKED_REGION {
void *data;
int format;
int pitch;
int pixel_size;
} ALLEGRO_LOCKED_REGION;
data points to the leftmost pixel of the first row (row 0) of the locked region.
format indicates the pixel format of the data.
pitch gives the size in bytes of a single row (also known as the stride). The pitch may be greater than
width * pixel_size
due to padding; this is not uncommon. It is also not uncommon for the pitch to be negative (the bitmap may be upside down).pixel_size is the number of bytes used to represent a single pixel.
See also: al_lock_bitmap, al_lock_bitmap_region, al_unlock_bitmap, ALLEGRO_PIXEL_FORMAT
ALLEGRO_PIXEL_FORMAT
typedef enum ALLEGRO_PIXEL_FORMAT
Pixel formats. Each pixel format specifies the exact size and bit layout of a pixel in memory. Components are specified from high bits to low bits, so for example a fully opaque red pixel in ARGB_8888 format is 0xFFFF0000.
Note:
The pixel format is independent of endianness. That is, in the above example you can always get the red component with
(pixel & 0x00ff0000) >> 16
But you can not rely on this code:
*(pixel + 2)
It will return the red component on little endian systems, but the green component on big endian systems.
Also note that Allegro's naming is different from OpenGL naming here, where a format of GL_RGBA8 merely defines the component order and the exact layout including endianness treatment is specified separately. Usually GL_RGBA8 will correspond to ALLEGRO_PIXEL_ABGR_8888 though on little endian systems, so care must be taken (note the reversal of RGBA <-> ABGR).
The only exception to this ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE which will always have the components as 4 bytes corresponding to red, green, blue and alpha, in this order, independent of the endianness.
- ALLEGRO_PIXEL_FORMAT_ANY - Let the driver choose a format. This is the default format at program start.
- ALLEGRO_PIXEL_FORMAT_ANY_NO_ALPHA - Let the driver choose a format without alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_WITH_ALPHA - Let the driver choose a format with alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_15_NO_ALPHA - Let the driver choose a 15 bit format without alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_16_NO_ALPHA - Let the driver choose a 16 bit format without alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_16_WITH_ALPHA - Let the driver choose a 16 bit format with alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_24_NO_ALPHA - Let the driver choose a 24 bit format without alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_32_NO_ALPHA - Let the driver choose a 32 bit format without alpha.
- ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA - Let the driver choose a 32 bit format with alpha.
- ALLEGRO_PIXEL_FORMAT_ARGB_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_RGBA_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_ARGB_4444 - 16 bit
- ALLEGRO_PIXEL_FORMAT_RGB_888 - 24 bit
- ALLEGRO_PIXEL_FORMAT_RGB_565 - 16 bit
- ALLEGRO_PIXEL_FORMAT_RGB_555 - 15 bit
- ALLEGRO_PIXEL_FORMAT_RGBA_5551 - 16 bit
- ALLEGRO_PIXEL_FORMAT_ARGB_1555 - 16 bit
- ALLEGRO_PIXEL_FORMAT_ABGR_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_XBGR_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_BGR_888 - 24 bit
- ALLEGRO_PIXEL_FORMAT_BGR_565 - 16 bit
- ALLEGRO_PIXEL_FORMAT_BGR_555 - 15 bit
- ALLEGRO_PIXEL_FORMAT_RGBX_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_XRGB_8888 - 32 bit
- ALLEGRO_PIXEL_FORMAT_ABGR_F32 - 128 bit
- ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE - Like the version without _LE, but the component order is guaranteed to be red, green, blue, alpha. This only makes a difference on big endian systems, on little endian it is just an alias.
- ALLEGRO_PIXEL_FORMAT_RGBA_4444 - 16bit
See also: al_set_new_bitmap_format, al_get_bitmap_format
al_get_pixel_size
int al_get_pixel_size(int format)
Return the number of bytes that a pixel of the given format occupies.
See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_format_bits
al_get_pixel_format_bits
int al_get_pixel_format_bits(int format)
Return the number of bits that a pixel of the given format occupies.
See also: ALLEGRO_PIXEL_FORMAT, al_get_pixel_size
al_lock_bitmap
ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,
int format, int flags)
Lock an entire bitmap for reading or writing. If the bitmap is a display bitmap it will be updated from system memory after the bitmap is unlocked (unless locked read only). Returns NULL if the bitmap cannot be locked, e.g. the bitmap was locked previously and not unlocked.
Flags are:
ALLEGRO_LOCK_READONLY - The locked region will not be written to. This can be faster if the bitmap is a video texture, as it can be discarded after the lock instead of uploaded back to the card.
ALLEGRO_LOCK_WRITEONLY - The locked region will not be read from. This can be faster if the bitmap is a video texture, as no data need to be read from the video card. You are required to fill in all pixels before unlocking the bitmap again, so be careful when using this flag.
ALLEGRO_LOCK_READWRITE - The locked region can be written to and read from. Use this flag if a partial number of pixels need to be written to, even if reading is not needed.
'format' indicates the pixel format that the returned buffer will be in. To lock in the same format as the bitmap stores it's data internally, call with al_get_bitmap_format(bitmap)
as the format or use ALLEGRO_PIXEL_FORMAT_ANY. Locking in the native format will usually be faster.
Note: While a bitmap is locked, you can not use any drawing operations on it (with the sole exception of al_put_pixel and al_put_blended_pixel).
See also: ALLEGRO_LOCKED_REGION, ALLEGRO_PIXEL_FORMAT, al_unlock_bitmap
al_lock_bitmap_region
ALLEGRO_LOCKED_REGION *al_lock_bitmap_region(ALLEGRO_BITMAP *bitmap,
int x, int y, int width, int height, int format, int flags)
Like al_lock_bitmap, but only locks a specific area of the bitmap. If the bitmap is a display bitmap, only that area of the texture will be updated when it is unlocked. Locking only the region you indend to modify will be faster than locking the whole bitmap.
See also: ALLEGRO_LOCKED_REGION, ALLEGRO_PIXEL_FORMAT, al_unlock_bitmap
al_unlock_bitmap
void al_unlock_bitmap(ALLEGRO_BITMAP *bitmap)
Unlock a previously locked bitmap or bitmap region. If the bitmap is a display bitmap, the texture will be updated to match the system memory copy (unless it was locked read only).
See also: al_lock_bitmap, al_lock_bitmap_region
Bitmap creation
ALLEGRO_BITMAP
typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
Abstract type representing a bitmap (2D image).
al_create_bitmap
ALLEGRO_BITMAP *al_create_bitmap(int w, int h)
Creates a new bitmap using the bitmap format and flags for the current thread. Blitting between bitmaps of differing formats, or blitting between memory bitmaps and display bitmaps may be slow.
Unless you set the ALLEGRO_MEMORY_BITMAP flag, the bitmap is created for the current display. Blitting to another display may be slow.
If a display bitmap is created, there may be limitations on the allowed dimensions. For example a DirectX or OpenGL backend usually has a maximum allowed texture size - so if bitmap creation fails for very large dimensions, you may want to re-try with a smaller bitmap. Some platforms also dictate a minimum texture size, which is relevant if you plan to use this bitmap with the primitives addon. If you try to create a bitmap smaller than this, this call will not fail but the returned bitmap will be a section of a larger bitmap with the minimum size. The minimum size that will work on all platforms is 32 by 32.
Some platforms do not directly support display bitmaps whose dimensions are not powers of two. Allegro handles this by creating a larger bitmap that has dimensions that are powers of two and then returning a section of that bitmap with the dimensions you requested. This can be relevant if you plan to use this bitmap with the primitives addon but shouldn't be an issue otherwise.
See also: al_set_new_bitmap_format, al_set_new_bitmap_flags, al_clone_bitmap, al_create_sub_bitmap, al_destroy_bitmap
al_create_sub_bitmap
ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent,
int x, int y, int w, int h)
Creates a sub-bitmap of the parent, at the specified coordinates and of the specified size. A sub-bitmap is a bitmap that shares drawing memory with a pre-existing (parent) bitmap, but possibly with a different size and clipping settings.
The sub-bitmap may originate off or extend past the parent bitmap.
See the discussion in al_get_backbuffer about using sub-bitmaps of the backbuffer.
The parent bitmap's clipping rectangles are ignored.
If a sub-bitmap was not or cannot be created then NULL is returned.
Note that destroying parents of sub-bitmaps will not destroy the sub-bitmaps; instead the sub-bitmaps become invalid and should no longer be used.
See also: al_create_bitmap
al_clone_bitmap
ALLEGRO_BITMAP *al_clone_bitmap(ALLEGRO_BITMAP *bitmap)
Create a new bitmap with al_create_bitmap, and copy the pixel data from the old bitmap across.
See also: al_create_bitmap, al_set_new_bitmap_format, al_set_new_bitmap_flags
al_destroy_bitmap
void al_destroy_bitmap(ALLEGRO_BITMAP *bitmap)
Destroys the given bitmap, freeing all resources used by it. Does nothing if given the null pointer.
It is an error to destroy a bitmap while it (or a sub-bitmap) are the target bitmap of any thread.
See also: al_create_bitmap
al_get_new_bitmap_flags
int al_get_new_bitmap_flags(void)
Returns the flags used for newly created bitmaps.
See also: al_set_new_bitmap_flags
al_get_new_bitmap_format
int al_get_new_bitmap_format(void)
Returns the format used for newly created bitmaps.
See also: ALLEGRO_PIXEL_FORMAT, al_set_new_bitmap_format
al_set_new_bitmap_flags
void al_set_new_bitmap_flags(int flags)
Sets the flags to use for newly created bitmaps. Valid flags are:
- ALLEGRO_VIDEO_BITMAP
Creates a bitmap that resides in the video card memory. These types of bitmaps receive the greatest benefit from hardware acceleration. al_set_new_bitmap_flags will implicitly set this flag unless ALLEGRO_MEMORY_BITMAP is present.
- ALLEGRO_MEMORY_BITMAP
Create a bitmap residing in system memory. Operations on, and with, memory bitmaps will not be hardware accelerated. However, direct pixel access can be relatively quick compared to video bitmaps, which depend on the display driver in use.
Note: Allegro's software rendering routines are currently very unoptimised.
- ALLEGRO_KEEP_BITMAP_FORMAT
Only used when loading bitmaps from disk files, forces the resulting ALLEGRO_BITMAP to use the same format as the file.
This is not yet honoured.
- ALLEGRO_FORCE_LOCKING
When drawing to a bitmap with this flag set, always use pixel locking and draw to it using Allegro's software drawing primitives. This should never be used if you plan to draw to the bitmap using Allegro's graphics primitives as it would cause severe performance penalties. However if you know that the bitmap will only ever be accessed by locking it, no unneeded FBOs will be created for it in the OpenGL drivers.
- ALLEGRO_NO_PRESERVE_TEXTURE
Normally, every effort is taken to preserve the contents of bitmaps, since Direct3D may forget them. This can take extra processing time. If you know it doesn't matter if a bitmap keeps its pixel data, for example its a temporary buffer, use this flag to tell Allegro not to attempt to preserve its contents. This can increase performance of your game or application, but there is a catch. See ALLEGRO_EVENT_DISPLAY_LOST for further information.
- ALLEGRO_ALPHA_TEST
This is a driver hint only. It tells the graphics driver to do alpha testing instead of alpha blending on bitmaps created with this flag. Alpha testing is usually faster and preferred if your bitmaps have only one level of alpha (0). This flag is currently not widely implemented (i.e., only for memory bitmaps).
- ALLEGRO_MIN_LINEAR
When drawing a scaled down version of the bitmap, use linear filtering. This usually looks better. You can also combine it with the MIPMAP flag for even better quality.
- ALLEGRO_MAG_LINEAR
When drawing a magnified version of a bitmap, use linear filtering. This will cause the picture to get blurry instead of creating a big rectangle for each pixel. It depends on how you want things to look like whether you want to use this or not.
- ALLEGRO_MIPMAP
This can only be used for bitmaps whose width and height is a power of two. In that case, it will generate mipmaps and use them when drawing scaled down versions. For example if the bitmap is 64x64, then extra bitmaps of sizes 32x32, 16x16, 8x8, 4x4, 2x2 and 1x1 will be created always containing a scaled down version of the original.
- ALLEGRO_NO_PREMULTIPLIED_ALPHA
By default, Allegro pre-multiplies the alpha channel of an image with the images color data when it loads it. Typically that would look something like this:
r = get_float_byte(); g = get_float_byte(); b = get_float_byte(); a = get_float_byte(); r = r * a; g = g * a; b = b * a; set_image_pixel(x, y, r, g, b, a);
The reason for this can be seen in the Allegro example ex_premulalpha, ie, using pre-multiplied alpha gives more accurate color results in some cases. To use alpha blending with images loaded with pre-multiplied alpha, you would use the default blending mode, which is set with al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA).
The ALLEGRO_NO_PREMULTIPLIED_ALPHA flag being set will ensure that images are not loaded with alpha pre-multiplied, but are loaded with color values direct from the image. That looks like this:
r = get_float_byte(); g = get_float_byte(); b = get_float_byte(); a = get_float_byte(); set_image_pixel(x, y, r, g, b, a);
To draw such an image using regular alpha blending, you would use al_set_blender(ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA) to set the correct blender. This has some caveats. First, as mentioned above, drawing such an image can result in less accurate color blending (when drawing an image with linear filtering on, the edges will be darker than they should be). Second, the behaviour is somewhat confusing, which is explained in the example below.
// Load and create bitmaps with an alpha channel al_set_new_bitmap_format(ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA); // Load some bitmap with alpha in it bmp = al_load_bitmap("some_alpha_bitmap.png"); // We will draw to this buffer and then draw this buffer to the screen tmp_buffer = al_create_bitmap(SCREEN_W, SCREEN_H); // Set the buffer as the target and clear it al_set_target_bitmap(tmp_buffer); al_clear_to_color(al_map_rgba_f(0, 0, 0, 1)); // Draw the bitmap to the temporary buffer al_draw_bitmap(bmp, 0, 0, 0); // Finally, draw the buffer to the screen // The output will look incorrect (may take close inspection // depending on the bitmap -- it may also be very obvious) al_set_target_bitmap(al_get_backbuffer(display)); al_draw_bitmap(tmp_buffer, 0, 0, 0);
To explain further, if you have a pixel with 0.5 alpha, and you're using (ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA) for blending, the formula is:
a = da * dst + sa * src
Expands to:
result_a = dst_a * (1-0.5) + 0.5 * 0.5;
So if you draw the image to the temporary buffer, it is blended once resulting in 0.75 alpha, then drawn again to the screen, blended in the same way, resulting in a pixel has 0.1875 as an alpha value.
See also: al_get_new_bitmap_flags, al_get_bitmap_flags
al_add_new_bitmap_flag
void al_add_new_bitmap_flag(int flag)
A convenience function which does the same as
al_set_new_bitmap_flags(al_get_new_bitmap_flags() | flag);
See also: al_set_new_bitmap_flags, al_get_new_bitmap_flags, al_get_bitmap_flags
al_set_new_bitmap_format
void al_set_new_bitmap_format(int format)
Sets the pixel format for newly created bitmaps. The default format is 0 and means the display driver will choose the best format.
See also: ALLEGRO_PIXEL_FORMAT, al_get_new_bitmap_format, al_get_bitmap_format
Bitmap properties
al_get_bitmap_flags
int al_get_bitmap_flags(ALLEGRO_BITMAP *bitmap)
Return the flags used to create the bitmap.
See also: al_set_new_bitmap_flags
al_get_bitmap_format
int al_get_bitmap_format(ALLEGRO_BITMAP *bitmap)
Returns the pixel format of a bitmap.
See also: ALLEGRO_PIXEL_FORMAT, al_set_new_bitmap_flags
al_get_bitmap_height
int al_get_bitmap_height(ALLEGRO_BITMAP *bitmap)
Returns the height of a bitmap in pixels.
al_get_bitmap_width
int al_get_bitmap_width(ALLEGRO_BITMAP *bitmap)
Returns the width of a bitmap in pixels.
al_get_pixel
ALLEGRO_COLOR al_get_pixel(ALLEGRO_BITMAP *bitmap, int x, int y)
Get a pixel's color value from the specified bitmap. This operation is slow on non-memory bitmaps. Consider locking the bitmap if you are going to use this function multiple times on the same bitmap.
See also: ALLEGRO_COLOR, al_put_pixel, al_lock_bitmap
al_is_bitmap_locked
bool al_is_bitmap_locked(ALLEGRO_BITMAP *bitmap)
Returns whether or not a bitmap is already locked.
See also: al_lock_bitmap, al_lock_bitmap_region, al_unlock_bitmap
al_is_compatible_bitmap
bool al_is_compatible_bitmap(ALLEGRO_BITMAP *bitmap)
D3D and OpenGL allow sharing a texture in a way so it can be used for multiple windows. Each ALLEGRO_BITMAP created with al_create_bitmap however is usually tied to a single ALLEGRO_DISPLAY. This function can be used to know if the bitmap is compatible with the given display, even if it is a different display to the one it was created with. It returns true if the bitmap is compatible (things like a cached texture version can be used) and false otherwise (blitting in the current display will be slow).
The only time this function is useful is if you are using multiple windows and need accelerated blitting of the same bitmaps to both.
Returns true if the bitmap is compatible with the current display, false otherwise. If there is no current display, false is returned.
al_is_sub_bitmap
bool al_is_sub_bitmap(ALLEGRO_BITMAP *bitmap)
Returns true if the specified bitmap is a sub-bitmap, false otherwise.
See also: al_create_sub_bitmap, al_get_parent_bitmap
al_get_parent_bitmap
ALLEGRO_BITMAP *al_get_parent_bitmap(ALLEGRO_BITMAP *bitmap)
Returns the bitmap this bitmap is a sub-bitmap of. Returns NULL if this bitmap is not a sub-bitmap.
Since: 5.0.6, 5.1.2
See also: al_create_sub_bitmap, al_is_sub_bitmap
Drawing operations
All drawing operations draw to the current "target bitmap" of the current thread. Initially, the target bitmap will be the backbuffer of the last display created in a thread.
al_clear_to_color
void al_clear_to_color(ALLEGRO_COLOR color)
Clear the complete target bitmap, but confined by the clipping rectangle.
See also: ALLEGRO_COLOR, al_set_clipping_rectangle
al_draw_bitmap
void al_draw_bitmap(ALLEGRO_BITMAP *bitmap, float dx, float dy, int flags)
Draws an unscaled, unrotated bitmap at the given position to the current target bitmap (see al_set_target_bitmap).
flags
can be a combination of:
- ALLEGRO_FLIP_HORIZONTAL - flip the bitmap about the y-axis
- ALLEGRO_FLIP_VERTICAL - flip the bitmap about the x-axis
Note: The current target bitmap must be a different bitmap. Drawing a bitmap to itself (or to a sub-bitmap of itself) or drawing a sub-bitmap to its parent (or another sub-bitmap of its parent) are not currently supported. To copy part of a bitmap into the same bitmap simply use a temporary bitmap instead.
Note: The backbuffer (or a sub-bitmap thereof) can not be transformed, blended or tinted. If you need to draw the backbuffer draw it to a temporary bitmap first with no active transformation (except translation). Blending and tinting settings/parameters will be ignored. This does not apply when drawing into a memory bitmap.
See also: al_draw_bitmap_region, al_draw_scaled_bitmap, al_draw_rotated_bitmap, al_draw_scaled_rotated_bitmap
al_draw_tinted_bitmap
void al_draw_tinted_bitmap(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR tint,
float dx, float dy, int flags)
Like al_draw_bitmap but multiplies all colors in the bitmap with the given color. For example:
al_draw_tinted_bitmap(bitmap, al_map_rgba_f(0.5, 0.5, 0.5, 0.5), x, y, 0);
The above will draw the bitmap 50% transparently (r/g/b values need to be pre-multiplied with the alpha component with the default blend mode).
al_draw_tinted_bitmap(bitmap, al_map_rgba_f(1, 0, 0, 1), x, y, 0);
The above will only draw the red component of the bitmap.
al_draw_bitmap_region
void al_draw_bitmap_region(ALLEGRO_BITMAP *bitmap,
float sx, float sy, float sw, float sh, float dx, float dy, int flags)
Draws a region of the given bitmap to the target bitmap.
- sx - source x
- sy - source y
- sw - source width (width of region to blit)
- sh - source height (height of region to blit)
- dx - destination x
- dy - destination y
- flags - same as for al_draw_bitmap
See also: al_draw_bitmap, al_draw_scaled_bitmap, al_draw_rotated_bitmap, al_draw_scaled_rotated_bitmap
al_draw_tinted_bitmap_region
void al_draw_tinted_bitmap_region(ALLEGRO_BITMAP *bitmap,
ALLEGRO_COLOR tint,
float sx, float sy, float sw, float sh, float dx, float dy,
int flags)
Like al_draw_bitmap_region but multiplies all colors in the bitmap with the given color.
See also: al_draw_tinted_bitmap
al_draw_pixel
void al_draw_pixel(float x, float y, ALLEGRO_COLOR color)
Draws a single pixel at x, y. This function, unlike al_put_pixel, does blending and, unlike al_put_blended_pixel, respects the transformations. This function can be slow if called often; if you need to draw a lot of pixels consider using al_draw_prim with ALLEGRO_PRIM_POINT_LIST from the primitives addon.
- x - destination x
- y - destination y
- color - color of the pixel
Note: This function may not draw exactly where you expect it to. See the pixel-precise output section on the primitives addon documentation for details on how to control exactly where the pixel is drawn.
See also: ALLEGRO_COLOR, al_put_pixel
al_draw_rotated_bitmap
void al_draw_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
float cx, float cy, float dx, float dy, float angle, int flags)
Draws a rotated version of the given bitmap to the target bitmap. The bitmap is rotated by 'angle' radians clockwise.
The point at cx/cy relative to the upper left corner of the bitmap will be drawn at dx/dy and the bitmap is rotated around this point. If cx,cy is 0,0 the bitmap will rotate around its upper left corner.
- cx - center x (relative to the bitmap)
- cy - center y (relative to the bitmap)
- dx - destination x
- dy - destination y
- angle - angle by which to rotate
- flags - same as for al_draw_bitmap
Example
float w = al_get_bitmap_width(bitmap);
float h = al_get_bitmap_height(bitmap);
al_draw_rotated_bitmap(bitmap, w / 2, h / 2, x, y, ALLEGRO_PI / 2, 0);
The above code draws the bitmap centered on x/y and rotates it 90° clockwise.
See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_scaled_bitmap, al_draw_scaled_rotated_bitmap
al_draw_tinted_rotated_bitmap
void al_draw_tinted_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
ALLEGRO_COLOR tint,
float cx, float cy, float dx, float dy, float angle, int flags)
Like al_draw_rotated_bitmap but multiplies all colors in the bitmap with the given color.
See also: al_draw_tinted_bitmap
al_draw_scaled_rotated_bitmap
void al_draw_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
float cx, float cy, float dx, float dy, float xscale, float yscale,
float angle, int flags)
Like al_draw_rotated_bitmap, but can also scale the bitmap.
The point at cx/cy in the bitmap will be drawn at dx/dy and the bitmap is rotated and scaled around this point.
- cx - center x
- cy - center y
- dx - destination x
- dy - destination y
- xscale - how much to scale on the x-axis (e.g. 2 for twice the size)
- yscale - how much to scale on the y-axis
- angle - angle by which to rotate
- flags - same as for al_draw_bitmap
See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_scaled_bitmap, al_draw_rotated_bitmap
al_draw_tinted_scaled_rotated_bitmap
void al_draw_tinted_scaled_rotated_bitmap(ALLEGRO_BITMAP *bitmap,
ALLEGRO_COLOR tint,
float cx, float cy, float dx, float dy, float xscale, float yscale,
float angle, int flags)
Like al_draw_scaled_rotated_bitmap but multiplies all colors in the bitmap with the given color.
See also: al_draw_tinted_bitmap
al_draw_tinted_scaled_rotated_bitmap_region
void al_draw_tinted_scaled_rotated_bitmap_region(ALLEGRO_BITMAP *bitmap,
float sx, float sy, float sw, float sh,
ALLEGRO_COLOR tint,
float cx, float cy, float dx, float dy, float xscale, float yscale,
float angle, int flags)
Like al_draw_tinted_scaled_rotated_bitmap but you specify an area within the bitmap to be drawn.
You can get the same effect with a sub bitmap:
al_draw_tinted_scaled_rotated_bitmap(bitmap, sx, sy, sw, sh, tint,
cx, cy, dx, dy, xscale, yscale, angle, flags);
/* This draws the same: */
sub_bitmap = al_create_sub_bitmap(bitmap, sx, sy, sw, sh);
al_draw_tinted_scaled_rotated_bitmap(sub_bitmap, tint, cx, cy,
dx, dy, xscale, yscale, angle, flags);
Since: 5.0.6, 5.1.0
See also: al_draw_tinted_bitmap
al_draw_scaled_bitmap
void al_draw_scaled_bitmap(ALLEGRO_BITMAP *bitmap,
float sx, float sy, float sw, float sh,
float dx, float dy, float dw, float dh, int flags)
Draws a scaled version of the given bitmap to the target bitmap.
- sx - source x
- sy - source y
- sw - source width
- sh - source height
- dx - destination x
- dy - destination y
- dw - destination width
- dh - destination height
- flags - same as for al_draw_bitmap
See also: al_draw_bitmap, al_draw_bitmap_region, al_draw_rotated_bitmap, al_draw_scaled_rotated_bitmap,
al_draw_tinted_scaled_bitmap
void al_draw_tinted_scaled_bitmap(ALLEGRO_BITMAP *bitmap,
ALLEGRO_COLOR tint,
float sx, float sy, float sw, float sh,
float dx, float dy, float dw, float dh, int flags)
Like al_draw_scaled_bitmap but multiplies all colors in the bitmap with the given color.
See also: al_draw_tinted_bitmap
al_get_target_bitmap
ALLEGRO_BITMAP *al_get_target_bitmap(void)
Return the target bitmap of the calling thread.
See also: al_set_target_bitmap
al_put_pixel
void al_put_pixel(int x, int y, ALLEGRO_COLOR color)
Draw a single pixel on the target bitmap. This operation is slow on non-memory bitmaps. Consider locking the bitmap if you are going to use this function multiple times on the same bitmap. This function is not affected by the transformations or the color blenders.
See also: ALLEGRO_COLOR, al_get_pixel, al_put_blended_pixel, al_lock_bitmap
al_put_blended_pixel
void al_put_blended_pixel(int x, int y, ALLEGRO_COLOR color)
Like al_put_pixel, but the pixel color is blended using the current blenders before being drawn.
See also: ALLEGRO_COLOR, al_put_pixel
al_set_target_bitmap
void al_set_target_bitmap(ALLEGRO_BITMAP *bitmap)
This function selects the bitmap to which all subsequent drawing operations in the calling thread will draw to. To return to drawing to a display, set the backbuffer of the display as the target bitmap, using al_get_backbuffer. As a convenience, you may also use al_set_target_backbuffer.
Each video bitmap is tied to a display. When a video bitmap is set to as the target bitmap, the display that the bitmap belongs to is automatically made "current" for the calling thread (if it is not current already). Then drawing other bitmaps which are tied to the same display can be hardware accelerated.
A single display cannot be current for multiple threads simultaneously. If you need to release a display, so it is not current for the calling thread, call al_set_target_bitmap(NULL);
Setting a memory bitmap as the target bitmap will not change which display is current for the calling thread.
OpenGL note:
Framebuffer objects (FBOs) allow OpenGL to directly draw to a bitmap, which is very fast. When using an OpenGL display, if all of the following conditions are met an FBO will be created for use with the bitmap:
- The GL_EXT_framebuffer_object OpenGL extension is available.
- The bitmap is not a memory bitmap.
- The bitmap is not currently locked.
In Allegro 5.0.0, you had to be careful as an FBO would be kept around until the bitmap is destroyed or you explicitly called al_remove_opengl_fbo on the bitmap, wasting resources. In newer versions, FBOs will be freed automatically when the bitmap is no longer the target bitmap, unless you have called al_get_opengl_fbo to retrieve the FBO id.
In the following example, no FBO will be created:
lock = al_lock_bitmap(bitmap);
al_set_target_bitmap(bitmap);
al_put_pixel(x, y, color);
al_unlock_bitmap(bitmap);
The above allows using al_put_pixel on a locked bitmap without creating an FBO.
In this example an FBO is created however:
al_set_target_bitmap(bitmap);
al_draw_line(x1, y1, x2, y2, color, 0);
An OpenGL command will be used to directly draw the line into the bitmap's associated texture.
See also: al_get_target_bitmap, al_set_target_backbuffer
al_set_target_backbuffer
void al_set_target_backbuffer(ALLEGRO_DISPLAY *display)
Same as al_set_target_bitmap(al_get_backbuffer(display));
See also: al_set_target_bitmap, al_get_backbuffer
al_get_current_display
ALLEGRO_DISPLAY *al_get_current_display(void)
Return the display that is "current" for the calling thread, or NULL if there is none.
See also: al_set_target_bitmap
Blending modes
al_get_blender
void al_get_blender(int *op, int *src, int *dst)
Returns the active blender for the current thread. You can pass NULL for values you are not interested in.
See also: al_set_blender, al_get_separate_blender
al_get_separate_blender
void al_get_separate_blender(int *op, int *src, int *dst,
int *alpha_op, int *alpha_src, int *alpha_dst)
Returns the active blender for the current thread. You can pass NULL for values you are not interested in.
See also: al_set_separate_blender, al_get_blender
al_set_blender
void al_set_blender(int op, int src, int dst)
Sets the function to use for blending for the current thread.
Blending means, the source and destination colors are combined in drawing operations.
Assume the source color (e.g. color of a rectangle to draw, or pixel of a bitmap to draw) is given as its red/green/blue/alpha components (if the bitmap has no alpha it always is assumed to be fully opaque, so 255 for 8-bit or 1.0 for floating point): sr, sg, sb, sa. And this color is drawn to a destination, which already has a color: dr, dg, db, da.
The conceptional formula used by Allegro to draw any pixel then depends on the op
parameter:
ALLEGRO_ADD
r = dr * dst + sr * src g = dg * dst + sg * src b = db * dst + sb * src a = da * dst + sa * src
ALLEGRO_DEST_MINUS_SRC
r = dr * dst - sr * src g = dg * dst - sg * src b = db * dst - sb * src a = da * dst - sa * src
ALLEGRO_SRC_MINUS_DEST
r = sr * src - dr * dst g = sg * src - dg * dst b = sb * src - db * dst a = sa * src - da * dst
Valid values for src
and dst
passed to this function are
ALLEGRO_ZERO
src = 0 dst = 0
ALLEGRO_ONE
src = 1 dst = 1
ALLEGRO_ALPHA
src = sa dst = sa
ALLEGRO_INVERSE_ALPHA
src = 1 - sa dst = 1 - sa
Blending examples:
So for example, to restore the default of using premultiplied alpha blending, you would use (pseudo code)
al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA)
If you are using non-pre-multiplied alpha, you could use
al_set_blender(ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA)
Additive blending would be achieved with
al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_ONE)
Copying the source to the destination (including alpha) unmodified
al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_ZERO)
See also: al_set_separate_blender, al_get_blender
al_set_separate_blender
void al_set_separate_blender(int op, int src, int dst,
int alpha_op, int alpha_src, int alpha_dst)
Like al_set_blender, but allows specifying a separate blending operation for the alpha channel. This is useful if your target bitmap also has an alpha channel and the two alpha channels need to be combined in a different way than the color components.
See also: al_set_blender, al_get_blender, al_get_separate_blender
Clipping
al_get_clipping_rectangle
void al_get_clipping_rectangle(int *x, int *y, int *w, int *h)
Gets the clipping rectangle of the target bitmap.
See also: al_set_clipping_rectangle
al_set_clipping_rectangle
void al_set_clipping_rectangle(int x, int y, int width, int height)
Set the region of the target bitmap or display that pixels get clipped to. The default is to clip pixels to the entire bitmap.
See also: al_get_clipping_rectangle, al_reset_clipping_rectangle
al_reset_clipping_rectangle
void al_reset_clipping_rectangle(void)
Equivalent to calling `al_set_clipping_rectangle(0, 0, w, h)' where w and h are the width and height of the target bitmap respectively.
Does nothing if there is no target bitmap.
See also: al_set_clipping_rectangle
Since: 5.0.6, 5.1.0
Graphics utility functions
al_convert_mask_to_alpha
void al_convert_mask_to_alpha(ALLEGRO_BITMAP *bitmap, ALLEGRO_COLOR mask_color)
Convert the given mask color to an alpha channel in the bitmap. Can be used to convert older 4.2-style bitmaps with magic pink to alpha-ready bitmaps.
See also: ALLEGRO_COLOR
Deferred drawing
al_hold_bitmap_drawing
void al_hold_bitmap_drawing(bool hold)
Enables or disables deferred bitmap drawing. This allows for efficient drawing of many bitmaps that share a parent bitmap, such as sub-bitmaps from a tilesheet or simply identical bitmaps. Drawing bitmaps that do not share a parent is less efficient, so it is advisable to stagger bitmap drawing calls such that the parent bitmap is the same for large number of those calls. While deferred bitmap drawing is enabled, the only functions that can be used are the bitmap drawing functions and font drawing functions. Changing the state such as the blending modes will result in undefined behaviour. One exception to this rule are the transformations. It is possible to set a new transformation while the drawing is held.
No drawing is guaranteed to take place until you disable the hold. Thus, the idiom of this function's usage is to enable the deferred bitmap drawing, draw as many bitmaps as possible, taking care to stagger bitmaps that share parent bitmaps, and then disable deferred drawing. As mentioned above, this function also works with bitmap and truetype fonts, so if multiple lines of text need to be drawn, this function can speed things up.
See also: al_is_bitmap_drawing_held
al_is_bitmap_drawing_held
bool al_is_bitmap_drawing_held(void)
Returns whether the deferred bitmap drawing mode is turned on or off.
See also: al_hold_bitmap_drawing
Image I/O
al_register_bitmap_loader
bool al_register_bitmap_loader(const char *extension,
ALLEGRO_BITMAP *(*loader)(const char *filename))
Register a handler for al_load_bitmap. The given function will be used to handle the loading of bitmaps files with the given extension.
The extension should include the leading dot ('.') character. It will be matched case-insensitively.
The loader
argument may be NULL to unregister an entry.
Returns true on success, false on error. Returns false if unregistering an entry that doesn't exist.
See also: al_register_bitmap_saver, al_register_bitmap_loader_f
al_register_bitmap_saver
bool al_register_bitmap_saver(const char *extension,
bool (*saver)(const char *filename, ALLEGRO_BITMAP *bmp))
Register a handler for al_save_bitmap. The given function will be used to handle the loading of bitmaps files with the given extension.
The extension should include the leading dot ('.') character. It will be matched case-insensitively.
The saver
argument may be NULL to unregister an entry.
Returns true on success, false on error. Returns false if unregistering an entry that doesn't exist.
See also: al_register_bitmap_loader, al_register_bitmap_saver_f
al_register_bitmap_loader_f
bool al_register_bitmap_loader_f(const char *extension,
ALLEGRO_BITMAP *(*loader_f)(ALLEGRO_FILE *fp))
Register a handler for al_load_bitmap_f. The given function will be used to handle the loading of bitmaps files with the given extension.
The extension should include the leading dot ('.') character. It will be matched case-insensitively.
The fs_loader
argument may be NULL to unregister an entry.
Returns true on success, false on error. Returns false if unregistering an entry that doesn't exist.
See also: al_register_bitmap_loader
al_register_bitmap_saver_f
bool al_register_bitmap_saver_f(const char *extension,
bool (*saver_f)(ALLEGRO_FILE *fp, ALLEGRO_BITMAP *bmp))
Register a handler for al_save_bitmap_f. The given function will be used to handle the loading of bitmaps files with the given extension.
The extension should include the leading dot ('.') character. It will be matched case-insensitively.
The saver_f
argument may be NULL to unregister an entry.
Returns true on success, false on error. Returns false if unregistering an entry that doesn't exist.
See also: al_register_bitmap_saver
al_load_bitmap
ALLEGRO_BITMAP *al_load_bitmap(const char *filename)
Loads an image file into an ALLEGRO_BITMAP. The file type is determined by the extension.
Returns NULL on error.
Note: the core Allegro library does not support any image file formats by default. You must use the allegro_image addon, or register your own format handler.
See also: al_load_bitmap_f, al_register_bitmap_loader, al_set_new_bitmap_format, al_set_new_bitmap_flags, al_init_image_addon
al_load_bitmap_f
ALLEGRO_BITMAP *al_load_bitmap_f(ALLEGRO_FILE *fp, const char *ident)
Loads an image from an ALLEGRO_FILE stream into an ALLEGRO_BITMAP. The file type is determined by the passed 'ident' parameter, which is a file name extension including the leading dot.
Returns NULL on error. The file remains open afterwards.
Note: the core Allegro library does not support any image file formats by default. You must use the allegro_image addon, or register your own format handler.
See also: al_load_bitmap, al_register_bitmap_loader_f, al_init_image_addon
al_save_bitmap
bool al_save_bitmap(const char *filename, ALLEGRO_BITMAP *bitmap)
Saves an ALLEGRO_BITMAP to an image file. The file type is determined by the extension.
Returns true on success, false on error.
Note: the core Allegro library does not support any image file formats by default. You must use the allegro_image addon, or register your own format handler.
See also: al_save_bitmap_f, al_register_bitmap_saver, al_init_image_addon
al_save_bitmap_f
bool al_save_bitmap_f(ALLEGRO_FILE *fp, const char *ident,
ALLEGRO_BITMAP *bitmap)
Saves an ALLEGRO_BITMAP to an ALLEGRO_FILE stream. The file type is determined by the passed 'ident' parameter, which is a file name extension including the leading dot.
Returns true on success, false on error. The file remains open afterwards.
Note: the core Allegro library does not support any image file formats by default. You must use the allegro_image addon, or register your own format handler.
See also: al_save_bitmap, al_register_bitmap_saver_f, al_init_image_addon


Genesis 18:18
Seeing that Abraham shall surely become a great and mighty nation, and all the nations of the earth shall be blessed in him?


ANCY ALEXANDER
PORTFOLIO
subject to change.
Educational Qualifications
Bachelors in [Physiscs,Mathematics and Computer science] From St.Aloysius colllege(autonomous),Managaluru
Pursuing MCA from AJCE
Fields Of Interest
Space astronomical observations
Games
Coding
getting to know new things
LANGUAGES known
English
Hindi
MALAYALAM
Achievements
NONE


>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Dictionary
G. Extended and Rational Arithmetic
Extended precision integer constants can be entered as a sequence
of decimal digits terminated by an x.
The monad x:
applies to integers and produces extended integers.
For example, the 2-element vector 1234x 56x (or 1234 56x)
is equivalent to x: 1234 56.
Various primitives produce extended results if the argument(s) are extended.
Some verbs f produce floating point (inexact) results
on some extended arguments because the result is not integral;
however, <.@f and >.@f produce extended
integer results when applied to extended integer arguments.
Comparisons involving extended integers are exact. For example:
!40
8.15915e47
!40x
815915283247897734345611269596115894272000000000
*/ x: >: i.40
815915283247897734345611269596115894272000000000
0j_25 ": ! 2000x * i. 5 1 NB. Exponent format, 25 digits
1.0000000000000000000000000e0
3.3162750924506332411753934e5735
1.8288019515140650133147432e12673
2.6839997657267395961163166e20065
5.1841810604808769398058198e27752
] r=: <.@%: 2 * 10 ^ 56x
14142135623730950488016887242
,. *: r + _1 0 1
199999999999999999999999999968972697904100132394908592081
199999999999999999999999999997256969151562033370942366564
200000000000000000000000000025541240399023934346976141049
Rational constants can be entered as the decimal digits of
the numerator and denominator, separated by an r
and preceded by an optional sign. Thus 3r4 is the
rational number three-quarters and _12r5 is
negative 12 divided by 5. Rational numbers are stored and
displayed in a standard form, with the numerator and
denominator relatively prime and the denominator positive.
Thus:
1r2 _1r2 2r4 2r_4 _2r_4 0r9 5 _5
1r2 _1r2 1r2 _1r2 1r2 0 5 _5
Various primitive verbs produce (exact) rational results
if the argument(s) are rational; non-rational verbs produce
(inexact) floating point or complex results when applied to rationals,
if the verb only has a limited number of rational arguments
that produce rational results. (For example, %:y is rational
if the atoms of y are perfect squares; ^0r1
is floating point.) The quotient of two extended integers is
an extended integer (if evenly divisible) or rational (if not).
Comparisons involving two rationals are exact.
Dyadic verbs (e.g. + - * % , = <)
that require argument type conversions do so
according to the following table:
| B I X Q D Z
---+------------------
B | B I X Q D Z B - boolean
I | I I X Q D Z I - integer
X | X X X Q D Z X - extended integer
Q | Q Q Q Q D Z Q - rational
D | D D D D D Z D - floating point
Z | Z Z Z Z Z Z Z - complex
For example, in the expression 2.5+1r2,
the 1r2 is converted to 0.5 before being added
to 2.5, resulting in a floating point 3.
And in the expression 2+1r2, the 2 is
converted to 2r1 before being added to 1r2,
resulting in 5r2.
In particular, a comparison involving a rational and
a floating point number is tolerant,
because the rational argument is first converted into a
floating point number.
The verb x: produces rational approximations
to non-rational arguments.
2%3
0.666667
2%3x
2r3
(+%)/\10$1 NB. Floating point convergents to golden mean
1 2 1.5 1.66667 1.6 1.625 1.61538 1.61905 1.61765 1.61818
(+%)/\x: 10$1 NB. Rational versions of same
1 2 3r2 5r3 8r5 13r8 21r13 34r21 55r34 89r55
|: 2 x: (+%)/\x: 10$1
1 2 3 5 8 13 21 34 55 89
1 1 2 3 5 8 13 21 34 55
(+%)/ 100$1r1
573147844013817084101r354224848179261915075
0j30 ": (+%)/100$1r1 NB. Display 30 decimal places
1.618033988749894848204586834366
H=: % @: >: @: (+/~) @: i. @ x: NB. Hilbert matrix of order n
] h=: H 6
1 1r2 1r3 1r4 1r5 1r6
1r2 1r3 1r4 1r5 1r6 1r7
1r3 1r4 1r5 1r6 1r7 1r8
1r4 1r5 1r6 1r7 1r8 1r9
1r5 1r6 1r7 1r8 1r9 1r10
1r6 1r7 1r8 1r9 1r10 1r11
-/ .* h NB. Determinant of h
1r186313420339200000
~. q: % -/ .* h NB. Unique prime factors of reciprocal of det
2 3 5 7 11
i.&.(p:^:_1) 2*#h NB. Primes less than 2*n
2 3 5 7 11
^ 2r1 NB. ^y is floating point or complex
7.38906
%: 49r25 NB. %: on a rational perfect square is rational
7r5
%: 49r25 10r9
1.4 1.05409
%: _2r1
0j1.41421
1 = 1+10r1^_15 NB. Exact (rational) comparison
0
(1.5-0.5) = 1+10r1^_15 NB. Tolerant (floating point) comparison
1
0.5 = 1r2
1
>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Dictionary


--- layout: default ---
Personalized and Group Specific Drug Development Based on 4P Medicine
Product 1 description
Product 2 description
Product 3 description


Toggle navigation
Faye Books
Time Tracking
Folders
Client Accounts
Success!
New client account was added.
Failed!
Client account could not be added.
Client Account
Client Accounts
Client Account
GWL


fuseMatSidenav
is a helper directive that enhances the Angular Material's sidenav. It modifies
the sidenav so it will function like the Angular Material 1.x sidenav. It also has a service which you can
register a sidenav in order to access and control its status from anywhere.
fuseMatSidenavHelper
A unique name for the sidenav.
mat-is-locked-open
Adds a locked open functionality just like Angular Material 1.x sidenav. Works with the media step
aliases of the FlexLayout library.


Who am I?
Hi! I am Wendy and I am 23. I am currently studying robotics and programming at ISIMA, Clermont-Ferrand, France, but I also learned about physics and chemistry during the two years of preparatory class before coming to Clermont.
Because I like to know how things work, I am alway trying to figure out the way it is built so, maybe you will find me carefully disassembling something
What about my hobbies?
Everyone around me knows about my unconditional attraction for Japan and its culture so I am not going to hide it from you. However, I am also interested in many other things such as video games, astrophysics, sewing and photography. In order to stay fit, I do a lot of sports like gymnastics and parkour
What's next?
As I said, I love Japan so if I manage to get a job that allow me to get there to do a job I like, it woud be heaven to me. Plus, I would like to work in the video game industry so if you are interested in my profile, feel free to look at my resume. For now, I am looking for a training session from april to september 2020, in France.


Code conversions fall into various categories depending on the properties of the character encodings involved. There are:
Constant-size conversions
Multibyte conversions, which again fall into the categories of:
State-independent conversions
State-dependent conversions
Constant-size conversions are between character encodings where all characters are of equal size. All single- or wide-character encodings are examples of such character encodings. Each single character stands for itself and can be recognized and translated independently of its context. Conversions between ASCII and EBCDIC, or Unicode and ISO10646, are examples of constant-size conversions.
Multibyte conversions involve multibyte encodings. In multibyte encodings, characters have varying size. Some mulitbyte characters consist of two or more bytes, while others are represented by just one byte.
There is a substantial difference between code conversions involving state-dependent character encodings, and conversions between state-independent encodings. (Again, see Section 23.3.)
State-dependent multibyte conversions involve one character encoding that is state-dependent. In state-dependent character encodings, character sequences can have different meanings depending on the current context. State-dependent encodings typically have modes and escape sequences that allow switching between modes. An example of a state-dependent character conversion is the conversion between the state-dependent JIS encoding for Japanese characters and the Unicode wide-character encoding.
State-independent multibyte conversions do not have modes. A sequence of characters can always be interpreted independently of its context. An example of a state-independent mulitbyte conversion is the conversion between EUC, which a state-independent multibyte encoding, and Unicode.


press keys [1] → orthographic 2d view [2] → perspective 3d view [w][a][s][d] → move view frame [+][-] → scale view


{% extends "field/base.html" %} {% load i18n field_app %} {% block container %}
{% blocktrans with object=object %}Are you sure you want to delete today ({{ selected_day }})?{% endblocktrans %}
{% blocktrans with object=object %}Are you sure you want to delete {{ selected_day }}?{% endblocktrans %}