text:
/* The standard CSS for doxygen 1.8.11 */

body, table, div, p, dl {
	font: 400 14px/22px Roboto,sans-serif;
}

/* @group Heading Levels */

h1.groupheader {
	font-size: 150%;
}

.title {
	font: 400 14px/28px Roboto,sans-serif;
	font-size: 150%;
	font-weight: bold;
	margin: 10px 2px;
}

h2.groupheader {
	border-bottom: 1px solid #879ECB;
	color: #354C7B;
	font-size: 150%;
	font-weight: normal;
	margin-top: 1.75em;
	padding-top: 8px;
	padding-bottom: 4px;
	width: 100%;
}

h3.groupheader {
	font-size: 100%;
}

h1, h2, h3, h4, h5, h6 {
	-webkit-transition: text-shadow 0.5s linear;
	-moz-transition: text-shadow 0.5s linear;
	-ms-transition: text-shadow 0.5s linear;
	-o-transition: text-shadow 0.5s linear;
	transition: text-shadow 0.5s linear;
	margin-right: 15px;
}

h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
	text-shadow: 0 0 15px cyan;
}

dt {
	font-weight: bold;
}

div.multicol {
	-moz-column-gap: 1em;
	-webkit-column-gap: 1em;
	-moz-column-count: 3;
	-webkit-column-count: 3;
}

p.startli, p.startdd {
	margin-top: 2px;
}

p.starttd {
	margin-top: 0px;
}

p.endli {
	margin-bottom: 0px;
}

p.enddd {
	margin-bottom: 4px;
}

p.endtd {
	margin-bottom: 2px;
}

/* @end */

caption {
	font-weight: bold;
}

span.legend {
        font-size: 70%;
        text-align: center;
}

h3.version {
        font-size: 90%;
        text-align: center;
}

div.qindex, div.navtab{
	background-color: #EBEFF6;
	border: 1px solid #A3B4D7;
	text-align: center;
}

div.qindex, div.navpath {
	width: 100%;
	line-height: 140%;
}

div.navtab {
	margin-right: 15px;
}

/* @group Link Styling */

a {
	color: #3D578C;
	font-weight: normal;
	text-decoration: none;
}

.contents a:visited {
	color: #4665A2;
}

a:hover {
	text-decoration: underline;
}

a.qindex {
	font-weight: bold;
}

a.qindexHL {
	font-weight: bold;
	background-color: #9CAFD4;
	color: #ffffff;
	border: 1px double #869DCA;
}

.contents a.qindexHL:visited {
        color: #ffffff;
}

a.el {
	font-weight: bold;
}

a.elRef {
}

a.code, a.code:visited, a.line, a.line:visited {
	color: #4665A2;
}

a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
	color: #4665A2;
}

/* @end */

dl.el {
	margin-left: -1cm;
}

pre.fragment {
        border: 1px solid #C4CFE5;
        background-color: #FBFCFD;
        padding: 4px 6px;
        margin: 4px 8px 4px 2px;
        overflow: auto;
        word-wrap: break-word;
        font-size:  9pt;
        line-height: 125%;
        font-family: monospace, fixed;
        font-size: 105%;
}

div.fragment {
        padding: 4px 6px;
        margin: 4px 8px 4px 2px;
	background-color: #FBFCFD;
	border: 1px solid #C4CFE5;
}

div.line {
	font-family: monospace, fixed;
        font-size: 13px;
	min-height: 13px;
	line-height: 1.0;
	text-wrap: unrestricted;
	white-space: -moz-pre-wrap; /* Moz */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: pre-wrap;      /* CSS3  */
	word-wrap: break-word;      /* IE 5.5+ */
	text-indent: -53px;
	padding-left: 53px;
	padding-bottom: 0px;
	margin: 0px;
	-webkit-transition-property: background-color, box-shadow;
	-webkit-transition-duration: 0.5s;
	-moz-transition-property: background-color, box-shadow;
	-moz-transition-duration: 0.5s;
	-ms-transition-property: background-color, box-shadow;
	-ms-transition-duration: 0.5s;
	-o-transition-property: background-color, box-shadow;
	-o-transition-duration: 0.5s;
	transition-property: background-color, box-shadow;
	transition-duration: 0.5s;
}

div.line:after {
    content:"\000A";
    white-space: pre;
}

div.line.glow {
	background-color: cyan;
	box-shadow: 0 0 10px cyan;
}

span.lineno {
	padding-right: 4px;
	text-align: right;
	border-right: 2px solid #0F0;
	background-color: #E8E8E8;
        white-space: pre;
}
span.lineno a {
	background-color: #D8D8D8;
}

span.lineno a:hover {
	background-color: #C8C8C8;
}

div.ah, span.ah {
	background-color: black;
	font-weight: bold;
	color: #ffffff;
	margin-bottom: 3px;
	margin-top: 3px;
	padding: 0.2em;
	border: solid thin #333;
	border-radius: 0.5em;
	-webkit-border-radius: .5em;
	-moz-border-radius: .5em;
	box-shadow: 2px 2px 3px #999;
	-webkit-box-shadow: 2px 2px 3px #999;
	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
}

div.classindex ul {
        list-style: none;
        padding-left: 0;
}

div.classindex span.ai {
        display: inline-block;
}

div.groupHeader {
	margin-left: 16px;
	margin-top: 12px;
	font-weight: bold;
}

div.groupText {
	margin-left: 16px;
	font-style: italic;
}

body {
	background-color: white;
	color: black;
        margin: 0;
}

div.contents {
	margin-top: 10px;
	margin-left: 12px;
	margin-right: 8px;
}

td.indexkey {
	background-color: #EBEFF6;
	font-weight: bold;
	border: 1px solid #C4CFE5;
	margin: 2px 0px 2px 0;
	padding: 2px 10px;
        white-space: nowrap;
        vertical-align: top;
}

td.indexvalue {
	background-color: #EBEFF6;
	border: 1px solid #C4CFE5;
	padding: 2px 10px;
	margin: 2px 0px;
}

tr.memlist {
	background-color: #EEF1F7;
}

p.formulaDsp {
	text-align: center;
}

img.formulaDsp {

}

img.formulaInl {
	vertical-align: middle;
}

div.center {
	text-align: center;
        margin-top: 0px;
        margin-bottom: 0px;
        padding: 0px;
}

div.center img {
	border: 0px;
}

address.footer {
	text-align: right;
	padding-right: 12px;
}

img.footer {
	border: 0px;
	vertical-align: middle;
}

/* @group Code Colorization */

span.keyword {
	color: #008000
}

span.keywordtype {
	color: #604020
}

span.keywordflow {
	color: #e08000
}

span.comment {
	color: #800000
}

span.preprocessor {
	color: #806020
}

span.stringliteral {
	color: #002080
}

span.charliteral {
	color: #008080
}

span.vhdldigit {
	color: #ff00ff
}

span.vhdlchar {
	color: #000000
}

span.vhdlkeyword {
	color: #700070
}

span.vhdllogic {
	color: #ff0000
}

blockquote {
        background-color: #F7F8FB;
        border-left: 2px solid #9CAFD4;
        margin: 0 24px 0 4px;
        padding: 0 12px 0 16px;
}

/* @end */

/*
.search {
	color: #003399;
	font-weight: bold;
}

form.search {
	margin-bottom: 0px;
	margin-top: 0px;
}

input.search {
	font-size: 75%;
	color: #000080;
	font-weight: normal;
	background-color: #e8eef2;
}
*/

td.tiny {
	font-size: 75%;
}

.dirtab {
	padding: 4px;
	border-collapse: collapse;
	border: 1px solid #A3B4D7;
}

th.dirtab {
	background: #EBEFF6;
	font-weight: bold;
}

hr {
	height: 0px;
	border: none;
	border-top: 1px solid #4A6AAA;
}

hr.footer {
	height: 1px;
}

/* @group Member Descriptions */

table.memberdecls {
	border-spacing: 0px;
	padding: 0px;
}

.memberdecls td, .fieldtable tr {
	-webkit-transition-property: background-color, box-shadow;
	-webkit-transition-duration: 0.5s;
	-moz-transition-property: background-color, box-shadow;
	-moz-transition-duration: 0.5s;
	-ms-transition-property: background-color, box-shadow;
	-ms-transition-duration: 0.5s;
	-o-transition-property: background-color, box-shadow;
	-o-transition-duration: 0.5s;
	transition-property: background-color, box-shadow;
	transition-duration: 0.5s;
}

.memberdecls td.glow, .fieldtable tr.glow {
	background-color: cyan;
	box-shadow: 0 0 15px cyan;
}

.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
	background-color: #F9FAFC;
	border: none;
	margin: 4px;
	padding: 1px 0 0 8px;
}

.mdescLeft, .mdescRight {
	padding: 0px 8px 4px 8px;
	color: #555;
}

.memSeparator {
        border-bottom: 1px solid #DEE4F0;
        line-height: 1px;
        margin: 0px;
        padding: 0px;
}

.memItemLeft, .memTemplItemLeft {
        white-space: nowrap;
}

.memItemRight {
	width: 100%;
}

.memTemplParams {
	color: #4665A2;
        white-space: nowrap;
	font-size: 80%;
}

/* @end */

/* @group Member Details */

/* Styles for detailed member documentation */

.memtemplate {
	font-size: 80%;
	color: #4665A2;
	font-weight: normal;
	margin-left: 9px;
}

.memnav {
	background-color: #EBEFF6;
	border: 1px solid #A3B4D7;
	text-align: center;
	margin: 2px;
	margin-right: 15px;
	padding: 2px;
}

.mempage {
	width: 100%;
}

.memitem {
	padding: 0;
	margin-bottom: 10px;
	margin-right: 5px;
        -webkit-transition: box-shadow 0.5s linear;
        -moz-transition: box-shadow 0.5s linear;
        -ms-transition: box-shadow 0.5s linear;
        -o-transition: box-shadow 0.5s linear;
        transition: box-shadow 0.5s linear;
        display: table !important;
        width: 100%;
}

.memitem.glow {
         box-shadow: 0 0 15px cyan;
}

.memname {
        font-weight: bold;
        margin-left: 6px;
}

.memname td {
	vertical-align: bottom;
}

.memproto, dl.reflist dt {
        border-top: 1px solid #A8B8D9;
        border-left: 1px solid #A8B8D9;
        border-right: 1px solid #A8B8D9;
        padding: 6px 0px 6px 0px;
        color: #253555;
        font-weight: bold;
        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
        background-image:url('nav_f.png');
        background-repeat:repeat-x;
        background-color: #E2E8F2;
        /* opera specific markup */
        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        border-top-right-radius: 4px;
        border-top-left-radius: 4px;
        /* firefox specific markup */
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
        -moz-border-radius-topright: 4px;
        -moz-border-radius-topleft: 4px;
        /* webkit specific markup */
        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        -webkit-border-top-right-radius: 4px;
        -webkit-border-top-left-radius: 4px;

}

.memdoc, dl.reflist dd {
        border-bottom: 1px solid #A8B8D9;
        border-left: 1px solid #A8B8D9;
        border-right: 1px solid #A8B8D9;
        padding: 6px 10px 2px 10px;
        background-color: #FBFCFD;
        border-top-width: 0;
        background-image:url('nav_g.png');
        background-repeat:repeat-x;
        background-color: #FFFFFF;
        /* opera specific markup */
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
        /* firefox specific markup */
        -moz-border-radius-bottomleft: 4px;
        -moz-border-radius-bottomright: 4px;
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
        /* webkit specific markup */
        -webkit-border-bottom-left-radius: 4px;
        -webkit-border-bottom-right-radius: 4px;
        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}

dl.reflist dt {
        padding: 5px;
}

dl.reflist dd {
        margin: 0px 0px 10px 0px;
        padding: 5px;
}

.paramkey {
	text-align: right;
}

.paramtype {
	white-space: nowrap;
}

.paramname {
	color: #602020;
	white-space: nowrap;
}
.paramname em {
	font-style: normal;
}
.paramname code {
        line-height: 14px;
}

.params, .retval, .exception, .tparams {
        margin-left: 0px;
        padding-left: 0px;
}

.params .paramname, .retval .paramname {
        font-weight: bold;
        vertical-align: top;
}

.params .paramtype {
        font-style: italic;
        vertical-align: top;
}

.params .paramdir {
        font-family: "courier new",courier,monospace;
        vertical-align: top;
}

table.mlabels {
	border-spacing: 0px;
}

td.mlabels-left {
	width: 100%;
	padding: 0px;
}

td.mlabels-right {
	vertical-align: bottom;
	padding: 0px;
	white-space: nowrap;
}

span.mlabels {
        margin-left: 8px;
}

span.mlabel {
        background-color: #728DC1;
        border-top:1px solid #5373B4;
        border-left:1px solid #5373B4;
        border-right:1px solid #C4CFE5;
        border-bottom:1px solid #C4CFE5;
	text-shadow: none;
	color: white;
	margin-right: 4px;
	padding: 2px 3px;
	border-radius: 3px;
	font-size: 7pt;
	white-space: nowrap;
	vertical-align: middle;
}

/* @end */

/* these are for tree view inside a (index) page */

div.directory {
        margin: 10px 0px;
        border-top: 1px solid #9CAFD4;
        border-bottom: 1px solid #9CAFD4;
        width: 100%;
}

.directory table {
        border-collapse:collapse;
}

.directory td {
        margin: 0px;
        padding: 0px;
	vertical-align: top;
}

.directory td.entry {
        white-space: nowrap;
        padding-right: 6px;
	padding-top: 3px;
}

.directory td.entry a {
        outline:none;
}

.directory td.entry a img {
        border: none;
}

.directory td.desc {
        width: 100%;
        padding-left: 6px;
	padding-right: 6px;
	padding-top: 3px;
	border-left: 1px solid rgba(0,0,0,0.05);
}

.directory tr.even {
	padding-left: 6px;
	background-color: #F7F8FB;
}

.directory img {
	vertical-align: -30%;
}

.directory .levels {
        white-space: nowrap;
        width: 100%;
        text-align: right;
        font-size: 9pt;
}

.directory .levels span {
        cursor: pointer;
        padding-left: 2px;
        padding-right: 2px;
	color: #3D578C;
}

.arrow {
    color: #9CAFD4;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    font-size: 80%;
    display: inline-block;
    width: 16px;
    height: 22px;
}

.icon {
    font-family: Arial, Helvetica;
    font-weight: bold;
    font-size: 12px;
    height: 14px;
    width: 16px;
    display: inline-block;
    background-color: #728DC1;
    color: white;
    text-align: center;
    border-radius: 4px;
    margin-left: 2px;
    margin-right: 2px;
}

.icona {
    width: 24px;
    height: 22px;
    display: inline-block;
}

.iconfopen {
    width: 24px;
    height: 18px;
    margin-bottom: 4px;
    background-image:url('folderopen.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

.iconfclosed {
    width: 24px;
    height: 18px;
    margin-bottom: 4px;
    background-image:url('folderclosed.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

.icondoc {
    width: 24px;
    height: 18px;
    margin-bottom: 4px;
    background-image:url('doc.png');
    background-position: 0px -4px;
    background-repeat: repeat-y;
    vertical-align:top;
    display: inline-block;
}

table.directory {
    font: 400 14px Roboto,sans-serif;
}

/* @end */

div.dynheader {
        margin-top: 8px;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

address {
	font-style: normal;
	color: #2A3D61;
}

table.doxtable caption {
	caption-side: top;
}

table.doxtable {
	border-collapse:collapse;
        margin-top: 4px;
        margin-bottom: 4px;
}

table.doxtable td, table.doxtable th {
	border: 1px solid #2D4068;
	padding: 3px 7px 2px;
}

table.doxtable th {
	background-color: #374F7F;
	color: #FFFFFF;
	font-size: 110%;
	padding-bottom: 4px;
	padding-top: 5px;
}

table.fieldtable {
        /*width: 100%;*/
        margin-bottom: 10px;
        border: 1px solid #A8B8D9;
        border-spacing: 0px;
        -moz-border-radius: 4px;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}

.fieldtable td, .fieldtable th {
        padding: 3px 7px 2px;
}

.fieldtable td.fieldtype, .fieldtable td.fieldname {
        white-space: nowrap;
        border-right: 1px solid #A8B8D9;
        border-bottom: 1px solid #A8B8D9;
        vertical-align: top;
}

.fieldtable td.fieldname {
        padding-top: 3px;
}

.fieldtable td.fielddoc {
        border-bottom: 1px solid #A8B8D9;
        /*width: 100%;*/
}

.fieldtable td.fielddoc p:first-child {
        margin-top: 0px;
}

.fieldtable td.fielddoc p:last-child {
        margin-bottom: 2px;
}

.fieldtable tr:last-child td {
        border-bottom: none;
}

.fieldtable th {
        background-image:url('nav_f.png');
        background-repeat:repeat-x;
        background-color: #E2E8F2;
        font-size: 90%;
        color: #253555;
        padding-bottom: 4px;
        padding-top: 5px;
        text-align:left;
        -moz-border-radius-topleft: 4px;
        -moz-border-radius-topright: 4px;
        -webkit-border-top-left-radius: 4px;
        -webkit-border-top-right-radius: 4px;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        border-bottom: 1px solid #A8B8D9;
}

.tabsearch {
	top: 0px;
	left: 10px;
	height: 36px;
	background-image: url('tab_b.png');
	z-index: 101;
	overflow: hidden;
	font-size: 13px;
}

.navpath ul
{
	font-size: 11px;
	background-image:url('tab_b.png');
	background-repeat:repeat-x;
	background-position: 0 -5px;
	height:30px;
	line-height:30px;
	color:#8AA0CC;
	border:solid 1px #C2CDE4;
	overflow:hidden;
	margin:0px;
	padding:0px;
}

.navpath li
{
	list-style-type:none;
	float:left;
	padding-left:10px;
	padding-right:15px;
	background-image:url('bc_s.png');
	background-repeat:no-repeat;
	background-position:right;
	color:#364D7C;
}

.navpath li.navelem a
{
	height:32px;
	display:block;
	text-decoration: none;
	outline: none;
	color: #283A5D;
	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
	text-decoration: none;
}

.navpath li.navelem a:hover
{
	color:#6884BD;
}

.navpath li.footer
{
        list-style-type:none;
        float:right;
        padding-left:10px;
        padding-right:15px;
        background-image:none;
        background-repeat:no-repeat;
        background-position:right;
        color:#364D7C;
        font-size: 8pt;
}

div.summary
{
	float: right;
	font-size: 8pt;
	padding-right: 5px;
	width: 50%;
	text-align: right;
}

div.summary a
{
	white-space: nowrap;
}

table.classindex
{
        margin: 10px;
        white-space: nowrap;
        margin-left: 3%;
        margin-right: 3%;
        width: 94%;
        border: 0;
        border-spacing: 0;
        padding: 0;
}

div.ingroups
{
	font-size: 8pt;
	width: 50%;
	text-align: left;
}

div.ingroups a
{
	white-space: nowrap;
}

div.header
{
        background-image:url('nav_h.png');
        background-repeat:repeat-x;
	background-color: #F9FAFC;
	margin:  0px;
	border-bottom: 1px solid #C4CFE5;
}

div.headertitle
{
	padding: 5px 5px 5px 10px;
}

dl
{
        padding: 0 0 0 10px;
}

/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
dl.section
{
	margin-left: 0px;
	padding-left: 0px;
}

dl.note
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #D0C000;
}

dl.warning, dl.attention
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #FF0000;
}

dl.pre, dl.post, dl.invariant
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #00D000;
}

dl.deprecated
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #505050;
}

dl.todo
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #00C0E0;
}

dl.test
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #3030E0;
}

dl.bug
{
        margin-left:-7px;
        padding-left: 3px;
        border-left:4px solid;
        border-color: #C08050;
}

dl.section dd {
	margin-bottom: 6px;
}

#projectlogo
{
	text-align: center;
	vertical-align: bottom;
	border-collapse: separate;
}

#projectlogo img
{
	border: 0px none;
}

#projectalign
{
        vertical-align: middle;
}

#projectname
{
	font: 300% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 2px 0px;
}

#projectbrief
{
	font: 120% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 0px;
}

#projectnumber
{
	font: 50% Tahoma, Arial,sans-serif;
	margin: 0px;
	padding: 0px;
}

#titlearea
{
	padding: 0px;
	margin: 0px;
	width: 100%;
	border-bottom: 1px solid #5373B4;
}

.image
{
        text-align: center;
}

.dotgraph
{
        text-align: center;
}

.mscgraph
{
        text-align: center;
}

.diagraph
{
        text-align: center;
}

.caption
{
	font-weight: bold;
}

div.zoom
{
	border: 1px solid #90A5CE;
}

dl.citelist {
        margin-bottom:50px;
}

dl.citelist dt {
        color:#334975;
        float:left;
        font-weight:bold;
        margin-right:10px;
        padding:5px;
}

dl.citelist dd {
        margin:2px 0;
        padding:5px 0;
}

div.toc {
        padding: 14px 25px;
        background-color: #F4F6FA;
        border: 1px solid #D8DFEE;
        border-radius: 7px 7px 7px 7px;
        float: right;
        height: auto;
        margin: 0 8px 10px 10px;
        width: 200px;
}

div.toc li {
        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
        margin-top: 5px;
        padding-left: 10px;
        padding-top: 2px;
}

div.toc h3 {
        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
	color: #4665A2;
        border-bottom: 0 none;
        margin: 0;
}

div.toc ul {
        list-style: none outside none;
        border: medium none;
        padding: 0px;
}

div.toc li.level1 {
        margin-left: 0px;
}

div.toc li.level2 {
        margin-left: 15px;
}

div.toc li.level3 {
        margin-left: 30px;
}

div.toc li.level4 {
        margin-left: 45px;
}

.inherit_header {
        font-weight: bold;
        color: gray;
        cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.inherit_header td {
        padding: 6px 0px 2px 5px;
}

.inherit {
        display: none;
}

tr.heading h2 {
        margin-top: 12px;
        margin-bottom: 4px;
}

/* tooltip related style info */

.ttc {
        position: absolute;
        display: none;
}

#powerTip {
	cursor: default;
	white-space: nowrap;
	background-color: white;
	border: 1px solid gray;
	border-radius: 4px 4px 4px 4px;
	box-shadow: 1px 1px 7px gray;
	display: none;
	font-size: smaller;
	max-width: 80%;
	opacity: 0.9;
	padding: 1ex 1em 1em;
	position: absolute;
	z-index: 2147483647;
}

#powerTip div.ttdoc {
        color: grey;
	font-style: italic;
}

#powerTip div.ttname a {
        font-weight: bold;
}

#powerTip div.ttname {
        font-weight: bold;
}

#powerTip div.ttdeci {
        color: #006318;
}

#powerTip div {
        margin: 0px;
        padding: 0px;
        font: 12px/16px Roboto,sans-serif;
}

#powerTip:before, #powerTip:after {
	content: "";
	position: absolute;
	margin: 0px;
}

#powerTip.n:after,  #powerTip.n:before,
#powerTip.s:after,  #powerTip.s:before,
#powerTip.w:after,  #powerTip.w:before,
#powerTip.e:after,  #powerTip.e:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.nw:after, #powerTip.nw:before,
#powerTip.sw:after, #powerTip.sw:before {
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
}

#powerTip.n:after,  #powerTip.s:after,
#powerTip.w:after,  #powerTip.e:after,
#powerTip.nw:after, #powerTip.ne:after,
#powerTip.sw:after, #powerTip.se:after {
	border-color: rgba(255, 255, 255, 0);
}

#powerTip.n:before,  #powerTip.s:before,
#powerTip.w:before,  #powerTip.e:before,
#powerTip.nw:before, #powerTip.ne:before,
#powerTip.sw:before, #powerTip.se:before {
	border-color: rgba(128, 128, 128, 0);
}

#powerTip.n:after,  #powerTip.n:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.nw:after, #powerTip.nw:before {
	top: 100%;
}

#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
	border-top-color: #ffffff;
	border-width: 10px;
	margin: 0px -10px;
}
#powerTip.n:before {
	border-top-color: #808080;
	border-width: 11px;
	margin: 0px -11px;
}
#powerTip.n:after, #powerTip.n:before {
	left: 50%;
}

#powerTip.nw:after, #powerTip.nw:before {
	right: 14px;
}

#powerTip.ne:after, #powerTip.ne:before {
	left: 14px;
}

#powerTip.s:after,  #powerTip.s:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.sw:after, #powerTip.sw:before {
	bottom: 100%;
}

#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
	border-bottom-color: #ffffff;
	border-width: 10px;
	margin: 0px -10px;
}

#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
	border-bottom-color: #808080;
	border-width: 11px;
	margin: 0px -11px;
}

#powerTip.s:after, #powerTip.s:before {
	left: 50%;
}

#powerTip.sw:after, #powerTip.sw:before {
	right: 14px;
}

#powerTip.se:after, #powerTip.se:before {
	left: 14px;
}

#powerTip.e:after, #powerTip.e:before {
	left: 100%;
}
#powerTip.e:after {
	border-left-color: #ffffff;
	border-width: 10px;
	top: 50%;
	margin-top: -10px;
}
#powerTip.e:before {
	border-left-color: #808080;
	border-width: 11px;
	top: 50%;
	margin-top: -11px;
}

#powerTip.w:after, #powerTip.w:before {
	right: 100%;
}
#powerTip.w:after {
	border-right-color: #ffffff;
	border-width: 10px;
	top: 50%;
	margin-top: -10px;
}
#powerTip.w:before {
	border-right-color: #808080;
	border-width: 11px;
	top: 50%;
	margin-top: -11px;
}

@media print
{
  #top { display: none; }
  #side-nav { display: none; }
  #nav-path { display: none; }
  body { overflow:visible; }
  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
  .summary { display: none; }
  .memitem { page-break-inside: avoid; }
  #doc-content
  {
    margin-left:0 !important;
    height:auto !important;
    width:auto !important;
    overflow:inherit;
    display:inline;
  }
}


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

- k -

GLFW_KEY_0
: glfw3.h

GLFW_KEY_1
: glfw3.h

GLFW_KEY_2
: glfw3.h

GLFW_KEY_3
: glfw3.h

GLFW_KEY_4
: glfw3.h

GLFW_KEY_5
: glfw3.h

GLFW_KEY_6
: glfw3.h

GLFW_KEY_7
: glfw3.h

GLFW_KEY_8
: glfw3.h

GLFW_KEY_9
: glfw3.h

GLFW_KEY_A
: glfw3.h

GLFW_KEY_APOSTROPHE
: glfw3.h

GLFW_KEY_B
: glfw3.h

GLFW_KEY_BACKSLASH
: glfw3.h

GLFW_KEY_BACKSPACE
: glfw3.h

GLFW_KEY_C
: glfw3.h

GLFW_KEY_CAPS_LOCK
: glfw3.h

GLFW_KEY_COMMA
: glfw3.h

GLFW_KEY_D
: glfw3.h

GLFW_KEY_DELETE
: glfw3.h

GLFW_KEY_DOWN
: glfw3.h

GLFW_KEY_E
: glfw3.h

GLFW_KEY_END
: glfw3.h

GLFW_KEY_ENTER
: glfw3.h

GLFW_KEY_EQUAL
: glfw3.h

GLFW_KEY_ESCAPE
: glfw3.h

GLFW_KEY_F
: glfw3.h

GLFW_KEY_F1
: glfw3.h

GLFW_KEY_F10
: glfw3.h

GLFW_KEY_F11
: glfw3.h

GLFW_KEY_F12
: glfw3.h

GLFW_KEY_F13
: glfw3.h

GLFW_KEY_F14
: glfw3.h

GLFW_KEY_F15
: glfw3.h

GLFW_KEY_F16
: glfw3.h

GLFW_KEY_F17
: glfw3.h

GLFW_KEY_F18
: glfw3.h

GLFW_KEY_F19
: glfw3.h

GLFW_KEY_F2
: glfw3.h

GLFW_KEY_F20
: glfw3.h

GLFW_KEY_F21
: glfw3.h

GLFW_KEY_F22
: glfw3.h

GLFW_KEY_F23
: glfw3.h

GLFW_KEY_F24
: glfw3.h

GLFW_KEY_F25
: glfw3.h

GLFW_KEY_F3
: glfw3.h

GLFW_KEY_F4
: glfw3.h

GLFW_KEY_F5
: glfw3.h

GLFW_KEY_F6
: glfw3.h

GLFW_KEY_F7
: glfw3.h

GLFW_KEY_F8
: glfw3.h

GLFW_KEY_F9
: glfw3.h

GLFW_KEY_G
: glfw3.h

GLFW_KEY_GRAVE_ACCENT
: glfw3.h

GLFW_KEY_H
: glfw3.h

GLFW_KEY_HOME
: glfw3.h

GLFW_KEY_I
: glfw3.h

GLFW_KEY_INSERT
: glfw3.h

GLFW_KEY_J
: glfw3.h

GLFW_KEY_K
: glfw3.h

GLFW_KEY_KP_0
: glfw3.h

GLFW_KEY_KP_1
: glfw3.h

GLFW_KEY_KP_2
: glfw3.h

GLFW_KEY_KP_3
: glfw3.h

GLFW_KEY_KP_4
: glfw3.h

GLFW_KEY_KP_5
: glfw3.h

GLFW_KEY_KP_6
: glfw3.h

GLFW_KEY_KP_7
: glfw3.h

GLFW_KEY_KP_8
: glfw3.h

GLFW_KEY_KP_9
: glfw3.h

GLFW_KEY_KP_ADD
: glfw3.h

GLFW_KEY_KP_DECIMAL
: glfw3.h

GLFW_KEY_KP_DIVIDE
: glfw3.h

GLFW_KEY_KP_ENTER
: glfw3.h

GLFW_KEY_KP_EQUAL
: glfw3.h

GLFW_KEY_KP_MULTIPLY
: glfw3.h

GLFW_KEY_KP_SUBTRACT
: glfw3.h

GLFW_KEY_L
: glfw3.h

GLFW_KEY_LAST
: glfw3.h

GLFW_KEY_LEFT
: glfw3.h

GLFW_KEY_LEFT_ALT
: glfw3.h

GLFW_KEY_LEFT_BRACKET
: glfw3.h

GLFW_KEY_LEFT_CONTROL
: glfw3.h

GLFW_KEY_LEFT_SHIFT
: glfw3.h

GLFW_KEY_LEFT_SUPER
: glfw3.h

GLFW_KEY_M
: glfw3.h

GLFW_KEY_MENU
: glfw3.h

GLFW_KEY_MINUS
: glfw3.h

GLFW_KEY_N
: glfw3.h

GLFW_KEY_NUM_LOCK
: glfw3.h

GLFW_KEY_O
: glfw3.h

GLFW_KEY_P
: glfw3.h

GLFW_KEY_PAGE_DOWN
: glfw3.h

GLFW_KEY_PAGE_UP
: glfw3.h

GLFW_KEY_PAUSE
: glfw3.h

GLFW_KEY_PERIOD
: glfw3.h

GLFW_KEY_PRINT_SCREEN
: glfw3.h

GLFW_KEY_Q
: glfw3.h

GLFW_KEY_R
: glfw3.h

GLFW_KEY_RIGHT
: glfw3.h

GLFW_KEY_RIGHT_ALT
: glfw3.h

GLFW_KEY_RIGHT_BRACKET
: glfw3.h

GLFW_KEY_RIGHT_CONTROL
: glfw3.h

GLFW_KEY_RIGHT_SHIFT
: glfw3.h

GLFW_KEY_RIGHT_SUPER
: glfw3.h

GLFW_KEY_S
: glfw3.h

GLFW_KEY_SCROLL_LOCK
: glfw3.h

GLFW_KEY_SEMICOLON
: glfw3.h

GLFW_KEY_SLASH
: glfw3.h

GLFW_KEY_SPACE
: glfw3.h

GLFW_KEY_T
: glfw3.h

GLFW_KEY_TAB
: glfw3.h

GLFW_KEY_U
: glfw3.h

GLFW_KEY_UNKNOWN
: glfw3.h

GLFW_KEY_UP
: glfw3.h

GLFW_KEY_V
: glfw3.h

GLFW_KEY_W
: glfw3.h

GLFW_KEY_WORLD_1
: glfw3.h

GLFW_KEY_WORLD_2
: glfw3.h

GLFW_KEY_X
: glfw3.h

GLFW_KEY_Y
: glfw3.h

GLFW_KEY_Z
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>

repo_language: C

mime_type: text/x-c


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: GLFWimage Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Data Structures

Data Structure Index

Data Fields

Data Fields

GLFWimage Struct Reference

Image data.
 More...

Data Fields

int 	width

int 	height

unsigned char * 	pixels

Detailed Description

See also

Custom cursor creation

Window icon

Since

Added in version 2.1.

GLFW 3: Removed format and bytes-per-pixel members.

Field Documentation

          int GLFWimage::height

The height, in pixels, of this image.

          unsigned char* GLFWimage::pixels

The pixel data of this image, arranged left-to-right, top-to-bottom.

          int GLFWimage::width

The width, in pixels, of this image.

The documentation for this struct was generated from the following file:

glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: compat.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

compat.dox File Reference

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Introduction

GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.

See New features in 3.2 for release highlights or the version history for details.

Getting started is a guide for users new to GLFW. It takes you through how to write a small but complete program.

There are guides for each section of the API:

Introduction to the API – initialization, error handling and high-level design

Window guide – creating and working with windows and framebuffers

Context guide – working with OpenGL and OpenGL ES contexts

Vulkan guide - working with Vulkan objects and extensions

Monitor guide – enumerating and working with monitors and video modes

Input guide – receiving events, polling and processing input

Once you have written a program, see Compiling GLFW and Building applications.

The reference documentation provides more detailed information about specific functions.

Moving from GLFW 2 to 3 explains what has changed and how to update existing code to use the new API.

There is a section on Guarantees and limitations for pointer lifetimes, reentrancy, thread safety, event order and backward and forward compatibility.

The FAQ answers many common questions about the design, implementation and use of GLFW.

Finally, Standards conformance explains what APIs, standards and protocols GLFW uses and what happens when they are not present on a given machine.

This documentation was generated with Doxygen. The sources for it are available in both the source distribution and GitHub repository.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: glfw-3.2.1 Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

glfw-3.2.1

glfw-3.2.1 Directory Reference

Directories

directory  	include

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Native access</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Functions

Native access

Functions

const char * 	glfwGetWin32Adapter (GLFWmonitor *monitor)

 	Returns the adapter device name of the specified monitor.  More...

const char * 	glfwGetWin32Monitor (GLFWmonitor *monitor)

 	Returns the display device name of the specified monitor.  More...

HWND 	glfwGetWin32Window (GLFWwindow *window)

 	Returns the HWND of the specified window.  More...

HGLRC 	glfwGetWGLContext (GLFWwindow *window)

 	Returns the HGLRC of the specified window.  More...

CGDirectDisplayID 	glfwGetCocoaMonitor (GLFWmonitor *monitor)

 	Returns the CGDirectDisplayID of the specified monitor.  More...

id 	glfwGetCocoaWindow (GLFWwindow *window)

 	Returns the NSWindow of the specified window.  More...

id 	glfwGetNSGLContext (GLFWwindow *window)

 	Returns the NSOpenGLContext of the specified window.  More...

Display * 	glfwGetX11Display (void)

 	Returns the Display used by GLFW.  More...

RRCrtc 	glfwGetX11Adapter (GLFWmonitor *monitor)

 	Returns the RRCrtc of the specified monitor.  More...

RROutput 	glfwGetX11Monitor (GLFWmonitor *monitor)

 	Returns the RROutput of the specified monitor.  More...

Window 	glfwGetX11Window (GLFWwindow *window)

 	Returns the Window of the specified window.  More...

GLXContext 	glfwGetGLXContext (GLFWwindow *window)

 	Returns the GLXContext of the specified window.  More...

GLXWindow 	glfwGetGLXWindow (GLFWwindow *window)

 	Returns the GLXWindow of the specified window.  More...

struct wl_display * 	glfwGetWaylandDisplay (void)

 	Returns the struct wl_display* used by GLFW.  More...

struct wl_output * 	glfwGetWaylandMonitor (GLFWmonitor *monitor)

 	Returns the struct wl_output* of the specified monitor.  More...

struct wl_surface * 	glfwGetWaylandWindow (GLFWwindow *window)

 	Returns the main struct wl_surface* of the specified window.  More...

MirConnection * 	glfwGetMirDisplay (void)

 	Returns the MirConnection* used by GLFW.  More...

int 	glfwGetMirMonitor (GLFWmonitor *monitor)

 	Returns the Mir output ID of the specified monitor.  More...

MirSurface * 	glfwGetMirWindow (GLFWwindow *window)

 	Returns the MirSurface* of the specified window.  More...

EGLDisplay 	glfwGetEGLDisplay (void)

 	Returns the EGLDisplay used by GLFW.  More...

EGLContext 	glfwGetEGLContext (GLFWwindow *window)

 	Returns the EGLContext of the specified window.  More...

EGLSurface 	glfwGetEGLSurface (GLFWwindow *window)

 	Returns the EGLSurface of the specified window.  More...

Detailed Description

By using the native access functions you assert that you know what you're doing and how to fix problems caused by using them. If you don't, you shouldn't be using them.

Before the inclusion of glfw3native.h, you may define exactly one window system API macro and zero or more context creation API macros.

The chosen backends must match those the library was compiled for. Failure to do this will cause a link-time error.

The available window API macros are:

GLFW_EXPOSE_NATIVE_WIN32

GLFW_EXPOSE_NATIVE_COCOA

GLFW_EXPOSE_NATIVE_X11

GLFW_EXPOSE_NATIVE_WAYLAND

GLFW_EXPOSE_NATIVE_MIR

The available context API macros are:

GLFW_EXPOSE_NATIVE_WGL

GLFW_EXPOSE_NATIVE_NSGL

GLFW_EXPOSE_NATIVE_GLX

GLFW_EXPOSE_NATIVE_EGL

These macros select which of the native access functions that are declared and which platform-specific headers to include. It is then up your (by definition platform-specific) code to handle which of these should be defined.

Function Documentation

          CGDirectDisplayID glfwGetCocoaMonitor
          (
          GLFWmonitor *
          monitor	)

Returns

The CGDirectDisplayID of the specified monitor, or kCGNullDirectDisplay if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.1.

          id glfwGetCocoaWindow
          (
          GLFWwindow *
          window	)

Returns

The NSWindow of the specified window, or nil if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          EGLContext glfwGetEGLContext
          (
          GLFWwindow *
          window	)

Returns

The EGLContext of the specified window, or EGL_NO_CONTEXT if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          EGLDisplay glfwGetEGLDisplay
          (
          void
          	)

Returns

The EGLDisplay used by GLFW, or EGL_NO_DISPLAY if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          EGLSurface glfwGetEGLSurface
          (
          GLFWwindow *
          window	)

Returns

The EGLSurface of the specified window, or EGL_NO_SURFACE if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          GLXContext glfwGetGLXContext
          (
          GLFWwindow *
          window	)

Returns

The GLXContext of the specified window, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          GLXWindow glfwGetGLXWindow
          (
          GLFWwindow *
          window	)

Returns

The GLXWindow of the specified window, or None if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          MirConnection* glfwGetMirDisplay
          (
          void
          	)

Returns

The MirConnection* used by GLFW, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          int glfwGetMirMonitor
          (
          GLFWmonitor *
          monitor	)

Returns

The Mir output ID of the specified monitor, or zero if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          MirSurface* glfwGetMirWindow
          (
          GLFWwindow *
          window	)

Returns

The MirSurface* of the specified window, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          id glfwGetNSGLContext
          (
          GLFWwindow *
          window	)

Returns

The NSOpenGLContext of the specified window, or nil if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          struct wl_display* glfwGetWaylandDisplay
          (
          void
          	)

Returns

The struct wl_display* used by GLFW, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          struct wl_output* glfwGetWaylandMonitor
          (
          GLFWmonitor *
          monitor	)

Returns

The struct wl_output* of the specified monitor, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          struct wl_surface* glfwGetWaylandWindow
          (
          GLFWwindow *
          window	)

Returns

The main struct wl_surface* of the specified window, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.2.

          HGLRC glfwGetWGLContext
          (
          GLFWwindow *
          window	)

Returns

The HGLRC of the specified window, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          const char* glfwGetWin32Adapter
          (
          GLFWmonitor *
          monitor	)

Returns

The UTF-8 encoded adapter device name (for example \\.\DISPLAY1) of the specified monitor, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.1.

          const char* glfwGetWin32Monitor
          (
          GLFWmonitor *
          monitor	)

Returns

The UTF-8 encoded display device name (for example \\.\DISPLAY1\Monitor0) of the specified monitor, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.1.

          HWND glfwGetWin32Window
          (
          GLFWwindow *
          window	)

Returns

The HWND of the specified window, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          RRCrtc glfwGetX11Adapter
          (
          GLFWmonitor *
          monitor	)

Returns

The RRCrtc of the specified monitor, or None if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.1.

          Display* glfwGetX11Display
          (
          void
          	)

Returns

The Display used by GLFW, or NULL if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

          RROutput glfwGetX11Monitor
          (
          GLFWmonitor *
          monitor	)

Returns

The RROutput of the specified monitor, or None if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.1.

          Window glfwGetX11Window
          (
          GLFWwindow *
          window	)

Returns

The Window of the specified window, or None if an error occurred.

Thread safety

This function may be called from any thread. Access is not synchronized.

Since

Added in version 3.0.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

w

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- j -

GLFW_JOYSTICK_1
: glfw3.h

GLFW_JOYSTICK_10
: glfw3.h

GLFW_JOYSTICK_11
: glfw3.h

GLFW_JOYSTICK_12
: glfw3.h

GLFW_JOYSTICK_13
: glfw3.h

GLFW_JOYSTICK_14
: glfw3.h

GLFW_JOYSTICK_15
: glfw3.h

GLFW_JOYSTICK_16
: glfw3.h

GLFW_JOYSTICK_2
: glfw3.h

GLFW_JOYSTICK_3
: glfw3.h

GLFW_JOYSTICK_4
: glfw3.h

GLFW_JOYSTICK_5
: glfw3.h

GLFW_JOYSTICK_6
: glfw3.h

GLFW_JOYSTICK_7
: glfw3.h

GLFW_JOYSTICK_8
: glfw3.h

GLFW_JOYSTICK_9
: glfw3.h

GLFW_JOYSTICK_LAST
: glfw3.h

glfwJoystickPresent()
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Data Structure Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Data Structures

Data Structure Index

Data Fields

Data Structure Index

G

  G

	GLFWimage   	GLFWvidmode

GLFWgammaramp

G

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: moving.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

moving.dox File Reference

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Context reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Typedefs |
Functions

Context reference

Typedefs

typedef void(* 	GLFWglproc) (void)

 	Client API function pointer type.  More...

Functions

void 	glfwMakeContextCurrent (GLFWwindow *window)

 	Makes the context of the specified window current for the calling thread.  More...

GLFWwindow * 	glfwGetCurrentContext (void)

 	Returns the window whose context is current on the calling thread.  More...

void 	glfwSwapInterval (int interval)

 	Sets the swap interval for the current context.  More...

int 	glfwExtensionSupported (const char *extension)

 	Returns whether the specified extension is available.  More...

GLFWglproc 	glfwGetProcAddress (const char *procname)

 	Returns the address of the specified function for the current context.  More...

Detailed Description

This is the reference documentation for OpenGL and OpenGL ES context related functions. For more task-oriented information, see the Context guide.

Typedef Documentation

          typedef void(* GLFWglproc) (void)

Generic function pointer used for returning client API function pointers without forcing a cast from a regular pointer.

See also

OpenGL and OpenGL ES extensions

glfwGetProcAddress

Since

Added in version 3.0.

Function Documentation

          int glfwExtensionSupported
          (
          const char *
          extension	)

This function returns whether the specified API extension is supported by the current OpenGL or OpenGL ES context. It searches both for client API extension and context creation API extensions.

A context must be current on the calling thread. Calling this function without a current context will cause a GLFW_NO_CURRENT_CONTEXT error.

As this functions retrieves and searches one or more extension strings each call, it is recommended that you cache its results if it is going to be used frequently. The extension strings will not change during the lifetime of a context, so there is no danger in doing this.

This function does not apply to Vulkan. If you are using Vulkan, see glfwGetRequiredInstanceExtensions, vkEnumerateInstanceExtensionProperties and vkEnumerateDeviceExtensionProperties instead.

Parameters

[in]	extension	The ASCII encoded name of the extension.

Returns

GLFW_TRUE if the extension is available, or GLFW_FALSE otherwise.

Errors

Possible errors include GLFW_NOT_INITIALIZED, GLFW_NO_CURRENT_CONTEXT, GLFW_INVALID_VALUE and GLFW_PLATFORM_ERROR.

Thread safety

This function may be called from any thread.

See also

OpenGL and OpenGL ES extensions

glfwGetProcAddress

Since

Added in version 1.0.

          GLFWwindow* glfwGetCurrentContext
          (
          void
          	)

This function returns the window whose OpenGL or OpenGL ES context is current on the calling thread.

Returns

The window whose context is current, or NULL if no window's context is current.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Thread safety

This function may be called from any thread.

See also

Current context

glfwMakeContextCurrent

Since

Added in version 3.0.

          GLFWglproc glfwGetProcAddress
          (
          const char *
          procname	)

This function returns the address of the specified OpenGL or OpenGL ES core or extension function, if it is supported by the current context.

A context must be current on the calling thread. Calling this function without a current context will cause a GLFW_NO_CURRENT_CONTEXT error.

This function does not apply to Vulkan. If you are rendering with Vulkan, see glfwGetInstanceProcAddress, vkGetInstanceProcAddr and vkGetDeviceProcAddr instead.

Parameters

[in]	procname	The ASCII encoded name of the function.

Returns

The address of the function, or NULL if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED, GLFW_NO_CURRENT_CONTEXT and GLFW_PLATFORM_ERROR.

Remarks

The address of a given function is not guaranteed to be the same between contexts.

This function may return a non-NULL address despite the associated version or extension not being available. Always check the context version or extension string first.

Pointer lifetime

The returned function pointer is valid until the context is destroyed or the library is terminated.

Thread safety

This function may be called from any thread.

See also

OpenGL and OpenGL ES extensions

glfwExtensionSupported

Since

Added in version 1.0.

          void glfwMakeContextCurrent
          (
          GLFWwindow *
          window	)

This function makes the OpenGL or OpenGL ES context of the specified window current on the calling thread. A context can only be made current on a single thread at a time and each thread can have only a single current context at a time.

By default, making a context non-current implicitly forces a pipeline flush. On machines that support GL_KHR_context_flush_control, you can control whether a context performs this flush by setting the GLFW_CONTEXT_RELEASE_BEHAVIOR window hint.

The specified window must have an OpenGL or OpenGL ES context. Specifying a window without a context will generate a GLFW_NO_WINDOW_CONTEXT error.

Parameters

[in]	window	The window whose context to make current, or NULL to detach the current context.

Errors

Possible errors include GLFW_NOT_INITIALIZED, GLFW_NO_WINDOW_CONTEXT and GLFW_PLATFORM_ERROR.

Thread safety

This function may be called from any thread.

See also

Current context

glfwGetCurrentContext

Since

Added in version 3.0.

          void glfwSwapInterval
          (
          int
          interval	)

This function sets the swap interval for the current OpenGL or OpenGL ES context, i.e. the number of screen updates to wait from the time glfwSwapBuffers was called before swapping the buffers and returning. This is sometimes called vertical synchronization, vertical retrace synchronization or just vsync.

Contexts that support either of the WGL_EXT_swap_control_tear and GLX_EXT_swap_control_tear extensions also accept negative swap intervals, which allow the driver to swap even if a frame arrives a little bit late. You can check for the presence of these extensions using glfwExtensionSupported. For more information about swap tearing, see the extension specifications.

A context must be current on the calling thread. Calling this function without a current context will cause a GLFW_NO_CURRENT_CONTEXT error.

This function does not apply to Vulkan. If you are rendering with Vulkan, see the present mode of your swapchain instead.

Parameters

[in]	interval	The minimum number of screen updates to wait for until the buffers are swapped by glfwSwapBuffers.

Errors

Possible errors include GLFW_NOT_INITIALIZED, GLFW_NO_CURRENT_CONTEXT and GLFW_PLATFORM_ERROR.

Remarks

This function is not called during context creation, leaving the swap interval set to whatever is the default on that platform. This is done because some swap interval extensions used by GLFW do not allow the swap interval to be reset to zero once it has been set to a non-zero value.

Some GPU drivers do not honor the requested swap interval, either because of a user setting that overrides the application's request or due to bugs in the driver.

Thread safety

This function may be called from any thread.

See also

Buffer swapping

glfwSwapBuffers

Since

Added in version 1.0.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
.tabs, .tabs2, .tabs3 {
    background-image: url('tab_b.png');
    width: 100%;
    z-index: 101;
    font-size: 13px;
    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
}

.tabs2 {
    font-size: 10px;
}
.tabs3 {
    font-size: 9px;
}

.tablist {
    margin: 0;
    padding: 0;
    display: table;
}

.tablist li {
    float: left;
    display: table-cell;
    background-image: url('tab_b.png');
    line-height: 36px;
    list-style: none;
}

.tablist a {
    display: block;
    padding: 0 20px;
    font-weight: bold;
    background-image:url('tab_s.png');
    background-repeat:no-repeat;
    background-position:right;
    color: #283A5D;
    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
    text-decoration: none;
    outline: none;
}

.tabs3 .tablist a {
    padding: 0 10px;
}

.tablist a:hover {
    background-image: url('tab_h.png');
    background-repeat:repeat-x;
    color: #fff;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
    text-decoration: none;
}

.tablist li.current a {
    background-image: url('tab_a.png');
    background-repeat:repeat-x;
    color: #fff;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

w

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

GLFW_SAMPLES
: glfw3.h

GLFW_SRGB_CAPABLE
: glfw3.h

GLFW_STENCIL_BITS
: glfw3.h

GLFW_STEREO
: glfw3.h

GLFW_STICKY_KEYS
: glfw3.h

GLFW_STICKY_MOUSE_BUTTONS
: glfw3.h

glfwSetCharCallback()
: glfw3.h

glfwSetCharModsCallback()
: glfw3.h

glfwSetClipboardString()
: glfw3.h

glfwSetCursor()
: glfw3.h

glfwSetCursorEnterCallback()
: glfw3.h

glfwSetCursorPos()
: glfw3.h

glfwSetCursorPosCallback()
: glfw3.h

glfwSetDropCallback()
: glfw3.h

glfwSetErrorCallback()
: glfw3.h

glfwSetFramebufferSizeCallback()
: glfw3.h

glfwSetGamma()
: glfw3.h

glfwSetGammaRamp()
: glfw3.h

glfwSetInputMode()
: glfw3.h

glfwSetJoystickCallback()
: glfw3.h

glfwSetKeyCallback()
: glfw3.h

glfwSetMonitorCallback()
: glfw3.h

glfwSetMouseButtonCallback()
: glfw3.h

glfwSetScrollCallback()
: glfw3.h

glfwSetTime()
: glfw3.h

glfwSetWindowAspectRatio()
: glfw3.h

glfwSetWindowCloseCallback()
: glfw3.h

glfwSetWindowFocusCallback()
: glfw3.h

glfwSetWindowIcon()
: glfw3.h

glfwSetWindowIconifyCallback()
: glfw3.h

glfwSetWindowMonitor()
: glfw3.h

glfwSetWindowPos()
: glfw3.h

glfwSetWindowPosCallback()
: glfw3.h

glfwSetWindowRefreshCallback()
: glfw3.h

glfwSetWindowShouldClose()
: glfw3.h

glfwSetWindowSize()
: glfw3.h

glfwSetWindowSizeCallback()
: glfw3.h

glfwSetWindowSizeLimits()
: glfw3.h

glfwSetWindowTitle()
: glfw3.h

glfwSetWindowUserPointer()
: glfw3.h

glfwShowWindow()
: glfw3.h

glfwSwapBuffers()
: glfw3.h

glfwSwapInterval()
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

w

Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- a -

GLFW_ACCUM_ALPHA_BITS
: glfw3.h

GLFW_ACCUM_BLUE_BITS
: glfw3.h

GLFW_ACCUM_GREEN_BITS
: glfw3.h

GLFW_ACCUM_RED_BITS
: glfw3.h

GLFW_ALPHA_BITS
: glfw3.h

GLFW_ANY_RELEASE_BEHAVIOR
: glfw3.h

GLFW_API_UNAVAILABLE
: glfw3.h

GLFW_ARROW_CURSOR
: glfw3.h

GLFW_AUTO_ICONIFY
: glfw3.h

GLFW_AUX_BUFFERS
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Monitor reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Data Structures |
Typedefs |
Functions

Monitor reference

Data Structures

struct  	GLFWvidmode

 	Video mode type.  More...

struct  	GLFWgammaramp

 	Gamma ramp.  More...

Typedefs

typedef struct GLFWmonitor 	GLFWmonitor

 	Opaque monitor object.  More...

typedef void(* 	GLFWmonitorfun) (GLFWmonitor *, int)

 	The function signature for monitor configuration callbacks.  More...

typedef struct GLFWvidmode 	GLFWvidmode

 	Video mode type.  More...

typedef struct GLFWgammaramp 	GLFWgammaramp

 	Gamma ramp.  More...

Functions

GLFWmonitor ** 	glfwGetMonitors (int *count)

 	Returns the currently connected monitors.  More...

GLFWmonitor * 	glfwGetPrimaryMonitor (void)

 	Returns the primary monitor.  More...

void 	glfwGetMonitorPos (GLFWmonitor *monitor, int *xpos, int *ypos)

 	Returns the position of the monitor's viewport on the virtual screen.  More...

void 	glfwGetMonitorPhysicalSize (GLFWmonitor *monitor, int *widthMM, int *heightMM)

 	Returns the physical size of the monitor.  More...

const char * 	glfwGetMonitorName (GLFWmonitor *monitor)

 	Returns the name of the specified monitor.  More...

GLFWmonitorfun 	glfwSetMonitorCallback (GLFWmonitorfun cbfun)

 	Sets the monitor configuration callback.  More...

const GLFWvidmode * 	glfwGetVideoModes (GLFWmonitor *monitor, int *count)

 	Returns the available video modes for the specified monitor.  More...

const GLFWvidmode * 	glfwGetVideoMode (GLFWmonitor *monitor)

 	Returns the current mode of the specified monitor.  More...

void 	glfwSetGamma (GLFWmonitor *monitor, float gamma)

 	Generates a gamma ramp and sets it for the specified monitor.  More...

const GLFWgammaramp * 	glfwGetGammaRamp (GLFWmonitor *monitor)

 	Returns the current gamma ramp for the specified monitor.  More...

void 	glfwSetGammaRamp (GLFWmonitor *monitor, const GLFWgammaramp *ramp)

 	Sets the current gamma ramp for the specified monitor.  More...

Detailed Description

This is the reference documentation for monitor related functions and types. For more task-oriented information, see the Monitor guide.

Typedef Documentation

          typedef struct GLFWgammaramp  GLFWgammaramp

This describes the gamma ramp for a monitor.

See also

Gamma ramp

glfwGetGammaRamp glfwSetGammaRamp

Since

Added in version 3.0.

          typedef struct GLFWmonitor GLFWmonitor

Opaque monitor object.

See also

Monitor objects

Since

Added in version 3.0.

          typedef void(*  GLFWmonitorfun) (GLFWmonitor *, int)

This is the function signature for monitor configuration callback functions.

Parameters

[in]	monitor	The monitor that was connected or disconnected.

[in]	event	One of GLFW_CONNECTED or GLFW_DISCONNECTED.

See also

Monitor configuration changes

glfwSetMonitorCallback

Since

Added in version 3.0.

          typedef struct GLFWvidmode  GLFWvidmode

This describes a single video mode.

See also

Video modes

glfwGetVideoMode glfwGetVideoModes

Since

Added in version 1.0.

GLFW 3: Added refresh rate member.

Function Documentation

          const GLFWgammaramp* glfwGetGammaRamp
          (
          GLFWmonitor *
          monitor	)

This function returns the current gamma ramp of the specified monitor.

Parameters

[in]	monitor	The monitor to query.

Returns

The current gamma ramp, or NULL if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED and GLFW_PLATFORM_ERROR.

Pointer lifetime

The returned structure and its arrays are allocated and freed by GLFW. You should not free them yourself. They are valid until the specified monitor is disconnected, this function is called again for that monitor or the library is terminated.

Thread safety

This function must only be called from the main thread.

See also

Gamma ramp

Since

Added in version 3.0.

          const char* glfwGetMonitorName
          (
          GLFWmonitor *
          monitor	)

This function returns a human-readable name, encoded as UTF-8, of the specified monitor. The name typically reflects the make and model of the monitor and is not guaranteed to be unique among the connected monitors.

Parameters

[in]	monitor	The monitor to query.

Returns

The UTF-8 encoded name of the monitor, or NULL if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Pointer lifetime

The returned string is allocated and freed by GLFW. You should not free it yourself. It is valid until the specified monitor is disconnected or the library is terminated.

Thread safety

This function must only be called from the main thread.

See also

Monitor properties

Since

Added in version 3.0.

          void glfwGetMonitorPhysicalSize
          (
          GLFWmonitor *
          monitor,

          int *
          widthMM,

          int *
          heightMM

          )

This function returns the size, in millimetres, of the display area of the specified monitor.

Some systems do not provide accurate monitor size information, either because the monitor EDID data is incorrect or because the driver does not report it accurately.

Any or all of the size arguments may be NULL. If an error occurs, all non-NULL size arguments will be set to zero.

Parameters

[in]	monitor	The monitor to query.

[out]	widthMM	Where to store the width, in millimetres, of the monitor's display area, or NULL.

[out]	heightMM	Where to store the height, in millimetres, of the monitor's display area, or NULL.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Remarks

Windows: calculates the returned physical size from the current resolution and system DPI instead of querying the monitor EDID data.

Thread safety

This function must only be called from the main thread.

See also

Monitor properties

Since

Added in version 3.0.

          void glfwGetMonitorPos
          (
          GLFWmonitor *
          monitor,

          int *
          xpos,

          int *
          ypos

          )

This function returns the position, in screen coordinates, of the upper-left corner of the specified monitor.

Any or all of the position arguments may be NULL. If an error occurs, all non-NULL position arguments will be set to zero.

Parameters

[in]	monitor	The monitor to query.

[out]	xpos	Where to store the monitor x-coordinate, or NULL.

[out]	ypos	Where to store the monitor y-coordinate, or NULL.

Errors

Possible errors include GLFW_NOT_INITIALIZED and GLFW_PLATFORM_ERROR.

Thread safety

This function must only be called from the main thread.

See also

Monitor properties

Since

Added in version 3.0.

          GLFWmonitor** glfwGetMonitors
          (
          int *
          count	)

This function returns an array of handles for all currently connected monitors. The primary monitor is always first in the returned array. If no monitors were found, this function returns NULL.

Parameters

[out]	count	Where to store the number of monitors in the returned array. This is set to zero if an error occurred.

Returns

An array of monitor handles, or NULL if no monitors were found or if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Pointer lifetime

The returned array is allocated and freed by GLFW. You should not free it yourself. It is guaranteed to be valid only until the monitor configuration changes or the library is terminated.

Thread safety

This function must only be called from the main thread.

See also

Retrieving monitors

Monitor configuration changes

glfwGetPrimaryMonitor

Since

Added in version 3.0.

          GLFWmonitor* glfwGetPrimaryMonitor
          (
          void
          	)

This function returns the primary monitor. This is usually the monitor where elements like the task bar or global menu bar are located.

Returns

The primary monitor, or NULL if no monitors were found or if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Thread safety

This function must only be called from the main thread.

Remarks

The primary monitor is always first in the array returned by glfwGetMonitors.

See also

Retrieving monitors

glfwGetMonitors

Since

Added in version 3.0.

          const GLFWvidmode* glfwGetVideoMode
          (
          GLFWmonitor *
          monitor	)

This function returns the current video mode of the specified monitor. If you have created a full screen window for that monitor, the return value will depend on whether that window is iconified.

Parameters

[in]	monitor	The monitor to query.

Returns

The current mode of the monitor, or NULL if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED and GLFW_PLATFORM_ERROR.

Pointer lifetime

The returned array is allocated and freed by GLFW. You should not free it yourself. It is valid until the specified monitor is disconnected or the library is terminated.

Thread safety

This function must only be called from the main thread.

See also

Video modes

glfwGetVideoModes

Since

Added in version 3.0. Replaces glfwGetDesktopMode.

          const GLFWvidmode* glfwGetVideoModes
          (
          GLFWmonitor *
          monitor,

          int *
          count

          )

This function returns an array of all video modes supported by the specified monitor. The returned array is sorted in ascending order, first by color bit depth (the sum of all channel depths) and then by resolution area (the product of width and height).

Parameters

[in]	monitor	The monitor to query.

[out]	count	Where to store the number of video modes in the returned array. This is set to zero if an error occurred.

Returns

An array of video modes, or NULL if an error occurred.

Errors

Possible errors include GLFW_NOT_INITIALIZED and GLFW_PLATFORM_ERROR.

Pointer lifetime

The returned array is allocated and freed by GLFW. You should not free it yourself. It is valid until the specified monitor is disconnected, this function is called again for that monitor or the library is terminated.

Thread safety

This function must only be called from the main thread.

See also

Video modes

glfwGetVideoMode

Since

Added in version 1.0.

GLFW 3: Changed to return an array of modes for a specific monitor.

          void glfwSetGamma
          (
          GLFWmonitor *
          monitor,

          float
          gamma

          )

This function generates a 256-element gamma ramp from the specified exponent and then calls glfwSetGammaRamp with it. The value must be a finite number greater than zero.

Parameters

[in]	monitor	The monitor whose gamma ramp to set.

[in]	gamma	The desired exponent.

Errors

Possible errors include GLFW_NOT_INITIALIZED, GLFW_INVALID_VALUE and GLFW_PLATFORM_ERROR.

Thread safety

This function must only be called from the main thread.

See also

Gamma ramp

Since

Added in version 3.0.

          void glfwSetGammaRamp
          (
          GLFWmonitor *
          monitor,

          const GLFWgammaramp *
          ramp

          )

This function sets the current gamma ramp for the specified monitor. The original gamma ramp for that monitor is saved by GLFW the first time this function is called and is restored by glfwTerminate.

Parameters

[in]	monitor	The monitor whose gamma ramp to set.

[in]	ramp	The gamma ramp to use.

Errors

Possible errors include GLFW_NOT_INITIALIZED and GLFW_PLATFORM_ERROR.

Remarks

Gamma ramp sizes other than 256 are not supported by all platforms or graphics hardware.

Windows: The gamma ramp size must be 256.

Pointer lifetime

The specified gamma ramp is copied before this function returns.

Thread safety

This function must only be called from the main thread.

See also

Gamma ramp

Since

Added in version 3.0.

          GLFWmonitorfun glfwSetMonitorCallback
          (
          GLFWmonitorfun
          cbfun	)

This function sets the monitor configuration callback, or removes the currently set callback. This is called when a monitor is connected to or disconnected from the system.

Parameters

[in]	cbfun	The new callback, or NULL to remove the currently set callback.

Returns

The previously set callback, or NULL if no callback was set or the library had not been initialized.

Errors

Possible errors include GLFW_NOT_INITIALIZED.

Thread safety

This function must only be called from the main thread.

See also

Monitor configuration changes

Since

Added in version 3.0.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Error codes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Macros

Error codes
Initialization, version and error reference

Macros

#define 	GLFW_NOT_INITIALIZED   0x00010001

 	GLFW has not been initialized.  More...

#define 	GLFW_NO_CURRENT_CONTEXT   0x00010002

 	No context is current for this thread.  More...

#define 	GLFW_INVALID_ENUM   0x00010003

 	One of the arguments to the function was an invalid enum value.  More...

#define 	GLFW_INVALID_VALUE   0x00010004

 	One of the arguments to the function was an invalid value.  More...

#define 	GLFW_OUT_OF_MEMORY   0x00010005

 	A memory allocation failed.  More...

#define 	GLFW_API_UNAVAILABLE   0x00010006

 	GLFW could not find support for the requested API on the system.  More...

#define 	GLFW_VERSION_UNAVAILABLE   0x00010007

 	The requested OpenGL or OpenGL ES version is not available.  More...

#define 	GLFW_PLATFORM_ERROR   0x00010008

 	A platform-specific error occurred that does not match any of the more specific categories.  More...

#define 	GLFW_FORMAT_UNAVAILABLE   0x00010009

 	The requested format is not supported or available.  More...

#define 	GLFW_NO_WINDOW_CONTEXT   0x0001000A

 	The specified window does not have an OpenGL or OpenGL ES context.  More...

Detailed Description

See error handling for how these are used.

Macro Definition Documentation

          #define GLFW_API_UNAVAILABLE   0x00010006

GLFW could not find support for the requested API on the system.

Analysis

The installed graphics driver does not support the requested API, or does not support it via the chosen context creation backend. Below are a few examples.

Some pre-installed Windows graphics drivers do not support OpenGL. AMD only supports OpenGL ES via EGL, while Nvidia and Intel only support it via a WGL or GLX extension. OS X does not provide OpenGL ES at all. The Mesa EGL, OpenGL and OpenGL ES libraries do not interface with the Nvidia binary driver. Older graphics drivers do not support Vulkan.

          #define GLFW_FORMAT_UNAVAILABLE   0x00010009

If emitted during window creation, the requested pixel format is not supported.

If emitted when querying the clipboard, the contents of the clipboard could not be converted to the requested format.

Analysis

If emitted during window creation, one or more hard constraints did not match any of the available pixel formats. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.

If emitted when querying the clipboard, ignore the error or report it to the user, as appropriate.

          #define GLFW_INVALID_ENUM   0x00010003

One of the arguments to the function was an invalid enum value, for example requesting GLFW_RED_BITS with glfwGetWindowAttrib.

Analysis

Application programmer error. Fix the offending call.

          #define GLFW_INVALID_VALUE   0x00010004

One of the arguments to the function was an invalid value, for example requesting a non-existent OpenGL or OpenGL ES version like 2.7.

Requesting a valid but unavailable OpenGL or OpenGL ES version will instead result in a GLFW_VERSION_UNAVAILABLE error.

Analysis

Application programmer error. Fix the offending call.

          #define GLFW_NO_CURRENT_CONTEXT   0x00010002

This occurs if a GLFW function was called that needs and operates on the current OpenGL or OpenGL ES context but no context is current on the calling thread. One such function is glfwSwapInterval.

Analysis

Application programmer error. Ensure a context is current before calling functions that require a current context.

          #define GLFW_NO_WINDOW_CONTEXT   0x0001000A

A window that does not have an OpenGL or OpenGL ES context was passed to a function that requires it to have one.

Analysis

Application programmer error. Fix the offending call.

          #define GLFW_NOT_INITIALIZED   0x00010001

This occurs if a GLFW function was called that must not be called unless the library is initialized.

Analysis

Application programmer error. Initialize GLFW before calling any function that requires initialization.

          #define GLFW_OUT_OF_MEMORY   0x00010005

A memory allocation failed.

Analysis

A bug in GLFW or the underlying operating system. Report the bug to our issue tracker.

          #define GLFW_PLATFORM_ERROR   0x00010008

A platform-specific error occurred that does not match any of the more specific categories.

Analysis

A bug or configuration error in GLFW, the underlying operating system or its drivers, or a lack of required resources. Report the issue to our issue tracker.

          #define GLFW_VERSION_UNAVAILABLE   0x00010007

The requested OpenGL or OpenGL ES version (including any requested context or framebuffer hints) is not available on this machine.

Analysis

The machine does not support your requirements. If your application is sufficiently flexible, downgrade your requirements and try again. Otherwise, inform the user that their machine does not match your requirements.

Future invalid OpenGL and OpenGL ES versions, for example OpenGL 4.8 if 5.0 comes out before the 4.x series gets that far, also fail with this error and not GLFW_INVALID_VALUE, because GLFW cannot know what future versions will exist.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: news.dox File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

news.dox File Reference

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

- c -

GLFW_CLIENT_API
: glfw3.h

GLFW_CONNECTED
: glfw3.h

GLFW_CONTEXT_CREATION_API
: glfw3.h

GLFW_CONTEXT_NO_ERROR
: glfw3.h

GLFW_CONTEXT_RELEASE_BEHAVIOR
: glfw3.h

GLFW_CONTEXT_REVISION
: glfw3.h

GLFW_CONTEXT_ROBUSTNESS
: glfw3.h

GLFW_CONTEXT_VERSION_MAJOR
: glfw3.h

GLFW_CONTEXT_VERSION_MINOR
: glfw3.h

GLFW_CROSSHAIR_CURSOR
: glfw3.h

GLFW_CURSOR
: glfw3.h

GLFW_CURSOR_DISABLED
: glfw3.h

GLFW_CURSOR_HIDDEN
: glfw3.h

GLFW_CURSOR_NORMAL
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Modifier key flags</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Macros

Modifier key flags
Input reference

Macros

#define 	GLFW_MOD_SHIFT   0x0001

 	If this bit is set one or more Shift keys were held down.  More...

#define 	GLFW_MOD_CONTROL   0x0002

 	If this bit is set one or more Control keys were held down.  More...

#define 	GLFW_MOD_ALT   0x0004

 	If this bit is set one or more Alt keys were held down.  More...

#define 	GLFW_MOD_SUPER   0x0008

 	If this bit is set one or more Super keys were held down.  More...

Detailed Description

See key input for how these are used.

Macro Definition Documentation

          #define GLFW_MOD_ALT   0x0004

          #define GLFW_MOD_CONTROL   0x0002

          #define GLFW_MOD_SHIFT   0x0001

          #define GLFW_MOD_SUPER   0x0008

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Monitor guide</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Monitor guide

Table of Contents

Monitor objects

Retrieving monitors

Monitor configuration changes

Monitor properties

Video modes

Physical size

Virtual position

Human-readable name

Gamma ramp

This guide introduces the monitor related functions of GLFW. For details on a specific function in this category, see the Monitor reference. There are also guides for the other areas of GLFW.

Introduction to the API

Window guide

Context guide

Vulkan guide

Input guide

Monitor objects

A monitor object represents a currently connected monitor and is represented as a pointer to the opaque type GLFWmonitor. Monitor objects cannot be created or destroyed by the application and retain their addresses until the monitors they represent are disconnected or until the library is terminated.

Each monitor has a current video mode, a list of supported video modes, a virtual position, a human-readable name, an estimated physical size and a gamma ramp. One of the monitors is the primary monitor.

The virtual position of a monitor is in screen coordinates and, together with the current video mode, describes the viewports that the connected monitors provide into the virtual desktop that spans them.

To see how GLFW views your monitor setup and its available video modes, run the monitors test program.

Retrieving monitors

The primary monitor is returned by glfwGetPrimaryMonitor. It is the user's preferred monitor and is usually the one with global UI elements like task bar or menu bar.

GLFWmonitor* primary = glfwGetPrimaryMonitor();

You can retrieve all currently connected monitors with glfwGetMonitors. See the reference documentation for the lifetime of the returned array.

int count;

GLFWmonitor** monitors = glfwGetMonitors(&count);

The primary monitor is always the first monitor in the returned array, but other monitors may be moved to a different index when a monitor is connected or disconnected.

Monitor configuration changes

If you wish to be notified when a monitor is connected or disconnected, set a monitor callback.

glfwSetMonitorCallback(monitor_callback);

The callback function receives the handle for the monitor that has been connected or disconnected and the event that occurred.

void monitor_callback(GLFWmonitor* monitor, int event)

{

    if (event == GLFW_CONNECTED)

    {

        // The monitor was connected

    }

    else if (event == GLFW_DISCONNECTED)

    {

        // The monitor was disconnected

    }

}

If a monitor is disconnected, any windows that are full screen on it get forced into windowed mode.

Monitor properties

Each monitor has a current video mode, a list of supported video modes, a virtual position, a human-readable name, an estimated physical size and a gamma ramp.

Video modes

GLFW generally does a good job selecting a suitable video mode when you create a full screen window, change its video mode or or make a windowed one full screen, but it is sometimes useful to know exactly which video modes are supported.

Video modes are represented as GLFWvidmode structures. You can get an array of the video modes supported by a monitor with glfwGetVideoModes. See the reference documentation for the lifetime of the returned array.

int count;

GLFWvidmode* modes = glfwGetVideoModes(monitor, &count);

To get the current video mode of a monitor call glfwGetVideoMode. See the reference documentation for the lifetime of the returned pointer.

const GLFWvidmode* mode = glfwGetVideoMode(monitor);

The resolution of a video mode is specified in screen coordinates, not pixels.

Physical size

The physical size of a monitor in millimetres, or an estimation of it, can be retrieved with glfwGetMonitorPhysicalSize. This has no relation to its current resolution, i.e. the width and height of its current video mode.

int widthMM, heightMM;

glfwGetMonitorPhysicalSize(monitor, &widthMM, &heightMM);

This can, for example, be used together with the current video mode to calculate the DPI of a monitor.

const double dpi = mode->width / (widthMM / 25.4);

Virtual position

The position of the monitor on the virtual desktop, in screen coordinates, can be retrieved with glfwGetMonitorPos.

int xpos, ypos;

glfwGetMonitorPos(monitor, &xpos, &ypos);

Human-readable name

The human-readable, UTF-8 encoded name of a monitor is returned by glfwGetMonitorName. See the reference documentation for the lifetime of the returned string.

const char* name = glfwGetMonitorName(monitor);

Monitor names are not guaranteed to be unique. Two monitors of the same model and make may have the same name. Only the monitor handle is guaranteed to be unique, and only until that monitor is disconnected.

Gamma ramp

The gamma ramp of a monitor can be set with glfwSetGammaRamp, which accepts a monitor handle and a pointer to a GLFWgammaramp structure.

GLFWgammaramp ramp;

unsigned short red[256], green[256], blue[256];

ramp.size = 256;

ramp.red = red;

ramp.green = green;

ramp.blue = blue;

for (i = 0;  i < ramp.size;  i++)

{

    // Fill out gamma ramp arrays as desired

}

glfwSetGammaRamp(monitor, &ramp);

The gamma ramp data is copied before the function returns, so there is no need to keep it around once the ramp has been set.

Note

It is recommended to use gamma ramps of size 256, as that is the size supported by all graphics cards on all platforms.

The current gamma ramp for a monitor is returned by glfwGetGammaRamp. See the reference documentation for the lifetime of the returned structure.

const GLFWgammaramp* ramp = glfwGetGammaRamp(monitor);

If you wish to set a regular gamma ramp, you can have GLFW calculate it for you from the desired exponent with glfwSetGamma, which in turn calls glfwSetGammaRamp with the resulting ramp.

glfwSetGamma(monitor, 1.0);

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: GLFW Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

glfw-3.2.1

include

GLFW

GLFW Directory Reference

Files

file  	glfw3.h [code]

 	The header of the GLFW 3 API.

file  	glfw3native.h [code]

 	The header of the native access functions.

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GLFW: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra.css" rel="stylesheet" type="text/css"/>

		GLFW

Documentation

Download

Media

Community

Main Page

Related Pages

Modules

Data Structures

Files

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

File List

Globals

All

Functions

Typedefs

Macros

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

r

s

t

v

- a -

GLFW_ACCUM_ALPHA_BITS
: glfw3.h

GLFW_ACCUM_BLUE_BITS
: glfw3.h

GLFW_ACCUM_GREEN_BITS
: glfw3.h

GLFW_ACCUM_RED_BITS
: glfw3.h

GLFW_ALPHA_BITS
: glfw3.h

GLFW_ANY_RELEASE_BEHAVIOR
: glfw3.h

GLFW_API_UNAVAILABLE
: glfw3.h

GLFW_ARROW_CURSOR
: glfw3.h

GLFW_AUTO_ICONIFY
: glfw3.h

GLFW_AUX_BUFFERS
: glfw3.h

<address class="footer">

Last update on Thu Aug 18 2016 for GLFW 3.2.1

</address>