about summary refs log tree commit diff stats
path: root/src/ui/console.c
Commit message (Expand)AuthorAgeFilesLines
...
* Fixed cppcheck warningsJames Booth2014-04-261-2/+1
* Added /log where commandJames Booth2014-04-131-0/+2
* Added /log shared settingJames Booth2014-04-131-0/+6
* Added /log rotate optionJames Booth2014-04-131-0/+4
* Show message when no bookmarks foundJames Booth2014-04-131-17/+22
* Removed statusbar functions from ui.hJames Booth2014-04-071-0/+1
* Inlined wins_update_virtual_console and wins_update_virtual_currentJames Booth2014-04-061-41/+140
* Removed titlebar version property and allow disabling of titlebar displayJames Booth2014-04-031-3/+3
* Renamed refresh functions to update_virtualJames Booth2014-04-011-39/+39
* Command '/statuses muc' now allows 'all', 'online' and 'none' settingsJames Booth2014-03-151-9/+4
* Updated copyrightJames Booth2014-03-091-2/+2
* fixed build error when make run with -jN optionDmitry Podgorny2014-03-061-1/+1
* Show message on /alias list when no aliasesJames Booth2014-02-151-0/+5
* Use wnoutrefresh, pnoutrefresh and doupdateJames Booth2014-02-021-1/+1
* Added aliases to autocompleteJames Booth2014-01-231-7/+0
* Added /alias command, writing aliases to [alias] group in profrcJames Booth2014-01-231-0/+16
* Added skeleton /alias commandJames Booth2014-01-231-0/+7
* Added statuses settings to prefs outputJames Booth2014-01-211-20/+28
* Added UI presence functionsJames Booth2014-01-191-0/+36
* Added port to /account show <account>James Booth2014-01-191-0/+3
* Show OTR coloured statusJames Booth2014-01-161-0/+12
* Added setting /otr log on|off|redactJames Booth2014-01-131-0/+16
* Added /otr theirfp with hardcoded fingerprintJames Booth2014-01-111-1/+1
* Tidied navigation helpJames Booth2014-01-021-4/+2
* Added full stop to /help service summaryJames Booth2014-01-021-1/+1
* Removed wins_refresh_console when not required for /sub command outputJames Booth2013-12-271-2/+0
* Bind console functions in main.cJames Booth2013-12-231-64/+66
* Dynamically load UI functions, fixed testsJames Booth2013-12-221-120/+183
* Added mocks and stubs for cons_showJames Booth2013-12-191-2/+3
* Added simple mock test, refactored rosterJames Booth2013-12-141-1/+1
* Merge branch 'master' into refactor2James Booth2013-11-111-0/+13
|\
| * Allow "account" setting in [connection] to autconnect the accountJames Booth2013-11-071-0/+10
| * Merge remote-tracking branch 'tsenart/passwords-on-accounts-file'James Booth2013-11-071-0/+3
| |\
| | * Use passwords from the accounts fileTomás Senart2013-10-141-0/+1
| |/
* | Removed generic functions from ProfWinJames Booth2013-10-061-77/+77
* | Use ProfWin->print_line for console typing notificationsJames Booth2013-10-061-4/+1
|/
* OO style for ProfWin typeJames Booth2013-10-061-77/+79
* Adding irssi style Alt-Left/Right window navigationJesse R. Adams2013-09-251-0/+2
* Added git branch and revision to development buildsJames Booth2013-09-171-0/+12
* Allow users to set default muc service and nickname per accountJames Booth2013-09-121-0/+6
* Show correct window number for incoming in consoleJames Booth2013-08-281-1/+2
* Changes to status bar for unlimited windows - WIPJames Booth2013-08-281-1/+1
* Moved static function in console.cJames Booth2013-08-261-76/+76
* Removed cons_create from console.cJames Booth2013-08-261-9/+0
* Fix console references after merging masterJames Booth2013-08-251-1/+3
* Merge branch 'master' into windowsJames Booth2013-08-251-6/+35
|\
| * removed strdup from g_string_appendDmitry Podgorny2013-08-251-5/+5
| * most FREE_SET_NULL replaced with freeDmitry Podgorny2013-08-031-1/+1
| * draft of bookmarks implementationDmitry Podgorny2013-07-141-0/+29
* | Console module get console from windowsJames Booth2013-08-201-4/+23
"n">shape.start_angle,shape.end_angle) elseif shape.mode == 'deleted' then else print(shape.mode) assert(false) end end function geom.on_freehand(x,y, drawing, shape) local prev for _,p in ipairs(shape.points) do if prev then if geom.on_line(x,y, drawing, {p1=prev, p2=p}) then return true end end prev = p end return false end function geom.on_line(x,y, drawing, shape) local p1,p2 if type(shape.p1) == 'number' then p1 = drawing.points[shape.p1] p2 = drawing.points[shape.p2] else p1 = shape.p1 p2 = shape.p2 end if p1.x == p2.x then if math.abs(p1.x-x) > 2 then return false end local y1,y2 = p1.y,p2.y if y1 > y2 then y1,y2 = y2,y1 end return y >= y1-2 and y <= y2+2 end -- has the right slope and intercept local m = (p2.y - p1.y) / (p2.x - p1.x) local yp = p1.y + m*(x-p1.x) if yp < y-2 or yp > y+2 then return false end -- between endpoints local k = (x-p1.x) / (p2.x-p1.x) return k > -0.005 and k < 1.005 end function geom.on_polygon(x,y, drawing, shape) local prev for _,p in ipairs(shape.vertices) do if prev then if geom.on_line(x,y, drawing, {p1=prev, p2=p}) then return true end end prev = p end return geom.on_line(x,y, drawing, {p1=shape.vertices[1], p2=shape.vertices[#shape.vertices]}) end -- are (x3,y3) and (x4,y4) on the same side of the line between (x1,y1) and (x2,y2) function geom.same_side(x1,y1, x2,y2, x3,y3, x4,y4) if x1 == x2 then return math.sign(x3-x1) == math.sign(x4-x1) end if y1 == y2 then return math.sign(y3-y1) == math.sign(y4-y1) end local m = (y2-y1)/(x2-x1) return math.sign(m*(x3-x1) + y1-y3) == math.sign(m*(x4-x1) + y1-y4) end function math.sign(x) if x > 0 then return 1 elseif x == 0 then return 0 elseif x < 0 then return -1 end end function geom.angle_with_hint(x1, y1, x2, y2, hint) local result = geom.angle(x1,y1, x2,y2) if hint then -- Smooth the discontinuity where angle goes from positive to negative. -- The hint is a memory of which way we drew it last time. while result > hint+math.pi/10 do result = result-math.pi*2 end while result < hint-math.pi/10 do result = result+math.pi*2 end end return result end -- result is from -π/2 to 3π/2, approximately adding math.atan2 from Lua 5.3 -- (LÖVE is Lua 5.1) function geom.angle(x1,y1, x2,y2) local result = math.atan((y2-y1)/(x2-x1)) if x2 < x1 then result = result+math.pi end return result end -- is the line between x,y and cx,cy at an angle between s and e? function geom.angle_between(ox,oy, x,y, s,e) local angle = geom.angle(ox,oy, x,y) if s > e then s,e = e,s end -- I'm not sure this is right or ideal.. angle = angle-math.pi*2 if s <= angle and angle <= e then return true end angle = angle+math.pi*2 if s <= angle and angle <= e then return true end angle = angle+math.pi*2 return s <= angle and angle <= e end function geom.dist(x1,y1, x2,y2) return ((x2-x1)^2+(y2-y1)^2)^0.5 end