ifeq ($(ARCHDIR),native)
ASFLAGS = -felf
- LDFLAGS = -L $(OUTPUTDIR)Libs
+ LDFLAGS :=
LIBS := -lacess-native -lc_acess
#LIBGCC_PATH = $(ACESSDIR)/AcessNative/symbol_renames.ld
else
ASFLAGS = -felf
# LDFLAGS = -T $(OUTPUTDIR)Libs/acess.ld
- LDFLAGS = -L $(OUTPUTDIR)Libs
+ LDFLAGS :=
LIBS = -lld-acess
endif
-LDFLAGS += -rpath-link $(OUTPUTDIR)Libs
+#LDFLAGS += -rpath-link $(OUTPUTDIR)Libs
CXXFLAGS += -std=gnu++11
CPPFLAGS +=
CFLAGS += -Wall
_LIBS := $(patsubst -l%,$(OUTPUTDIR)Libs/lib%.so,$(_LIBS))
ifeq ($(ARCHDIR),native)
- LDFLAGS := -L$(OUTPUTDIR)Libs/ $(patsubst -lc++,-lc++_acess,$(LDFLAGS))
+ LDFLAGS := $(patsubst -lc++,-lc++_acess,$(LDFLAGS))
LIBS := $(patsubst -lc++,-lc++_acess,$(LIBS))
endif
ifeq ($(VERBOSE),)
if( len == (size_t)-1 )
throw ::std::system_error(errno, ::std::system_category());
//_SysDebug("CClient_AcessIPCPipe::HandleReceive - Rx %i/%i bytes", len, rxbuf.capacity());
- //_SysDebugHex("CClient_AcessIPCPipe::HandleReceive", rxbuf.data(), len);
+ _SysDebugHex("CClient_AcessIPCPipe::HandleReceive", rxbuf.data(), len);
rxbuf.resize(len);
CDeserialiser msg( ::std::move(rxbuf) );
LIBS += -lc++
CXXFLAGS += -O3
+USE_CXX_LINK = 1
include ../../Makefile.tpl
*/
#include <draw_control.hpp>
#include <axwin4/definitions.h>
+#include <acess/sys.h>
+#include <cassert>
// === CODE ===
namespace AxWin {
m_inner_y(InnerY),
m_data(data)
{
-
+ _SysDebug("CControl(X={E:%i,F:%i,I:%i}, Y={E:%i,F:%i,I:%i}, data={Size:%i})",
+ m_edge_x, m_fill_x, m_inner_x, m_edge_y, m_fill_y, m_inner_y, m_data.size());
}
void CControl::Render(CSurface& dest, const CRect& rect) const
renderLine(dest, y++, scanline, rect, &m_data[(base_ofs+i)*ctrl_width]);
base_ofs += m_edge_y;
// FillY
+ assert(m_fill_y > 0 || y == top_fill_end);
while( y < top_fill_end )
{
for( int i = 0; i < m_fill_y && y < top_fill_end; i ++ )
void CControl::renderLine(CSurface& dest, int y, ::std::vector<uint32_t>& scanline, const CRect& rect, const uint32_t* ctrl_line) const
{
+ _SysDebug("renderLine: (y=%i,rect={(%i,%i) %ix%i}", y, rect.m_x, rect.m_y, rect.m_w, rect.m_h);
const int left_fill_end = rect.m_w / 2 - m_inner_x;
const int right_fill_end = rect.m_w - m_edge_x;
uint16_t y = message.ReadU16();
uint16_t w = message.ReadU16();
uint16_t h = message.ReadU16();
- //_SysDebug("_PushData: (%i, (%i,%i) %ix%i)", win_id, x, y, w, h);
+ _SysDebug("_PushData: (%i, (%i,%i) %ix%i)", win_id, x, y, w, h);
CWindow* win = client.GetWindow(win_id);
if(!win) {
uint16_t h = message.ReadU16();
uint16_t ctrl_id = message.ReadU16();
uint16_t frame = message.ReadU16();
+ _SysDebug("_DrawCtl: (%i, (%i,%i) %ix%i %i %06x)", win_id, x, y, w, h, ctrl_id, frame);
CWindow* win = client.GetWindow(win_id);
if(!win) {
#define _SysUnloadBin acess__SysUnloadBin
#define _SysSetFaultHandler acess__SysSetFaultHandler
#define _SysDebug acess__SysDebug
+#define _SysDebugHex acess__SysDebugHex
#define _SysGetPhys acess__SysGetPhys
#define _SysAllocate acess__SysAllocate
#define _SysSetMemFlags acess__SysSetMemFlags
extern "C" void AxWin4_DrawControl(tAxWin4_Window *Window, int X, int Y, unsigned int W, unsigned int H, uint16_t ID, unsigned int Frame)
{
CSerialiser message;
+ //_SysDebug("AxWin4_DrawControl: (Window->ID=%i, (%i,%i) %ix%i %i 0x%06x", Window->m_id, X, Y, W, H, ID, Frame);
message.WriteU8(IPCMSG_DRAWCTL);
message.WriteU16(Window->m_id);
message.WriteU16(X);
CPPFLAGS += -I $(ACESSDIR)/Externals/Output/$(ARCHDIR)/include
CFLAGS += -std=gnu99 -g
LDFLAGS += -L $(ACESSDIR)/Externals/Output/$(ARCHDIR)/lib
+LDFLAGS += -L $(OUTPUTDIR)Libs
CRTI := $(OUTPUTDIR)Libs/crti.o
CRTBEGIN := $(shell $(CC) $(CFLAGS) -print-file-name=crtbegin.o 2>/dev/null)