diff options
| author | Andrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu> | 2012-05-10 12:47:19 -0400 | 
|---|---|---|
| committer | Andrew Gallant (Ocelot) <Andrew.Gallant@tufts.edu> | 2012-05-10 12:47:19 -0400 | 
| commit | e239bb3c68a4981a3916534203c2fbd6b96f593c (patch) | |
| tree | ebb9b1a4a4659d09edaf57ec39a744ff4bc15ff0 /nexgb/xgb.go | |
| parent | 00c6217ca905b08ce0acda9a90492b5c1dc358e8 (diff) | |
| download | haven-e239bb3c68a4981a3916534203c2fbd6b96f593c.tar.gz haven-e239bb3c68a4981a3916534203c2fbd6b96f593c.tar.xz haven-e239bb3c68a4981a3916534203c2fbd6b96f593c.zip | |
make resource ids their own individual types. last commit before overhaul to sub-packages
Diffstat (limited to 'nexgb/xgb.go')
| -rw-r--r-- | nexgb/xgb.go | 15 | 
1 files changed, 7 insertions, 8 deletions
| diff --git a/nexgb/xgb.go b/nexgb/xgb.go index 8baa208..6a71187 100644 --- a/nexgb/xgb.go +++ b/nexgb/xgb.go @@ -110,9 +110,6 @@ func (c *Conn) DefaultScreen() *ScreenInfo {  	return &c.Setup.Roots[c.defaultScreen]  } -// Id is used for all X identifiers, such as windows, pixmaps, and GCs. -type Id uint32 -  // Event is an interface that can contain any of the events returned by the  // server. Use a type assertion switch to extract the Event structs.  type Event interface { @@ -137,7 +134,7 @@ var newExtEventFuncs = make(map[string]map[int]newEventFun)  type Error interface {  	ImplementsError()  	SequenceId() uint16 -	BadId() Id +	BadId() uint32  	Error() string  } @@ -158,7 +155,9 @@ type eventOrError interface{}  // NewID generates a new unused ID for use with requests like CreateWindow.  // If no new ids can be generated, the id returned is 0 and error is non-nil. -func (c *Conn) NewId() (Id, error) { +// Note that the value returned will need to be converted to the proper +// type. i.e., xproto.Window(id). +func (c *Conn) NewId() (uint32, error) {  	xid := <-c.xidChan  	if xid.err != nil {  		return 0, xid.err @@ -170,7 +169,7 @@ func (c *Conn) NewId() (Id, error) {  // channel. If no new resource id can be generated, id is set to 0 and a  // non-nil error is set in xid.err.  type xid struct { -	id  Id +	id  uint32  	err error  } @@ -202,7 +201,7 @@ func (conn *Conn) generateXIds() {  		// TODO: Use the XC Misc extension to look for released ids.  		if last > 0 && last >= max-inc+1 {  			conn.xidChan <- xid{ -				id: Id(0), +				id: 0,  				err: errors.New("There are no more available resource" +  					"identifiers."),  			} @@ -210,7 +209,7 @@ func (conn *Conn) generateXIds() {  		last += inc  		conn.xidChan <- xid{ -			id:  Id(last | conn.Setup.ResourceIdBase), +			id:  last | conn.Setup.ResourceIdBase,  			err: nil,  		}  	} | 
