Fix bug #1457688: libRocket elements show solid white in tinydisplay

This commit is contained in:
rdb 2015-08-20 18:58:13 +02:00
parent f14f7d1913
commit 7fa0d3c60a
3 changed files with 33 additions and 1 deletions

View File

@ -352,6 +352,31 @@ make(const RenderAttrib *attrib1,
return return_new(state);
}
////////////////////////////////////////////////////////////////////
// Function: RenderState::make
// Access: Published, Static
// Description: Returns a RenderState with five attributes set.
////////////////////////////////////////////////////////////////////
CPT(RenderState) RenderState::
make(const RenderAttrib *attrib1,
const RenderAttrib *attrib2,
const RenderAttrib *attrib3,
const RenderAttrib *attrib4,
const RenderAttrib *attrib5, int override) {
RenderState *state = new RenderState;
state->_attributes[attrib1->get_slot()].set(attrib1, override);
state->_attributes[attrib2->get_slot()].set(attrib2, override);
state->_attributes[attrib3->get_slot()].set(attrib3, override);
state->_attributes[attrib4->get_slot()].set(attrib4, override);
state->_attributes[attrib5->get_slot()].set(attrib5, override);
state->_filled_slots.set_bit(attrib1->get_slot());
state->_filled_slots.set_bit(attrib2->get_slot());
state->_filled_slots.set_bit(attrib3->get_slot());
state->_filled_slots.set_bit(attrib4->get_slot());
state->_filled_slots.set_bit(attrib5->get_slot());
return return_new(state);
}
////////////////////////////////////////////////////////////////////
// Function: RenderState::make
// Access: Published, Static

View File

@ -87,6 +87,11 @@ PUBLISHED:
const RenderAttrib *attrib2,
const RenderAttrib *attrib3,
const RenderAttrib *attrib4, int override = 0);
static CPT(RenderState) make(const RenderAttrib *attrib1,
const RenderAttrib *attrib2,
const RenderAttrib *attrib3,
const RenderAttrib *attrib4,
const RenderAttrib *attrib5, int override = 0);
static CPT(RenderState) make(const RenderAttrib * const *attrib,
int num_attribs, int override = 0);

View File

@ -20,6 +20,7 @@
#include "internalName.h"
#include "geomVertexWriter.h"
#include "geomTriangles.h"
#include "colorAttrib.h"
#include "colorBlendAttrib.h"
#include "cullBinAttrib.h"
#include "depthTestAttrib.h"
@ -49,7 +50,8 @@ render(Rocket::Core::Context* context, CullTraverser *trav) {
ColorBlendAttrib::make(ColorBlendAttrib::M_add,
ColorBlendAttrib::O_incoming_alpha,
ColorBlendAttrib::O_one_minus_incoming_alpha
)
),
ColorAttrib::make_vertex()
);
_dimensions = context->GetDimensions();