All the color args are optionals, will set it to white and black if not specified
Also the a and b args mean "end x" and "end y", the bottom right corner of the button.
gui.getVersion() gives you the version of the API, useful to check if a function is present or not.
gui.render(reset) Use it to draw the content of the buffer to the screen, if reset is set to true, it will reset the buffer.
gui.sRender() Same as above but this one doesn't reset the buffer. removed in 1.4.1
gui.drawButton(startx, starty, endx, endy, text, colorOfLine, colorOfBackground, clear) draw a rectangle with the text inside it. It's now an internal function, you could use this to draw a button without the buffer. Set clear to true will clear the screen before drawing the button.
gui.setButton(x, y, text, colorLine, colorBackground) It remplace the draw function, it draw into the buffer. Remplace gui.draw by this in your code.
gui.setButtonc(x, y, a, b, text, colorLine, colorBackground) Same as above but clear the screen before, useful for new menu. Removed in 1.4.1
gui.drawButtonc(startx, starty, endx, endy, text, colorOfLine, colorOfBackground) same as above, but clear the screen before draw the button. Useful for a new menu. removed in 1.4
gui.setHeader(text, colorLine) Use it to draw header into the buffer, it remplace the draw one.
gui.drawHeader(text, colorOfLine) draw the text at the first line and draw a line below it. Also set the cursor position to the third line. It's an internal function since 1.4.
gui.buttonClick(startx, starty, endx, endy) return true if the specified area is clicked, false if not.
gui.buttonWaitClick(startx, starty, endx, endy) same as above but will wait until the specified area is clicked, useful for use with the parallel API.
gui.fill(starx, starty, endx, endy, color) fill the area defined with the color specified. (Must be colors.grey for example)
gui.getSelection() Take all the drawn buttons with the set function, not the draw one, and return the one which has been clicked. (Look in the example spoiler)
gui.popUp(title, text, x, y, colorLine, colorBackground, textButton1, textButton2) draw a pop-up with a title has a header, a text and a specified background color wich will close when clicked. The x and y are the coords of the upper right corner. If the buttons args are specified it will return the one which has been clicked.
gui.clearBuffer() self-explanatory
gui.cPopUp(x, y, title, text, colorLine, colorBackground) same as above but the xy args are for the center of the pop-up, allowing multiple pop-up. removed in 1.5
gui.setTickBox(x, y, colorLine, isTrue) draw a tickbox wich is a little button with a green T or red F inside, depend of isTrue. If it is clicked it will change what is inside and you can get what it is by the return of the function (Will be functionnal for 1.7)
gui.initializeLog() will make the functions write what they are doing to /guiapi/log, call it to start register what the API is doing